Create Geometry based on an Image?
You can do this easily with animation nodes in the blender 2.80.

Create a number of instances (with deep copy) and place them using the grid distribution node. Then use the same grid points or vectors to sample the texture with Texture Node, which gives you the color of texture at that point of the grid and by changing the scale of the grid points you can scale the texture mapping as you want. 

Use these colors as input color for the vertex of the previously created objects. All the object has material but by using the attribute node in materials you can assign the color to individual objects based on their vertex colors. Here are screenshots of my node tree: