A few years ago, as I set out to create a special gift for my wife, I stumbled upon an interesting concept: a mosaic print, with each tile representing a snapshot of our life together. Yet, my search for tools to accomplish this revealed a glaring shortcoming – most of the available options merely desaturated the small tiles and overlaid them with the larger image. This approach felt less authentic, more like artificially coloring the mosaic than allowing the original hues of our memories to shine through.
I was left unsatisfied, and, fuelled by a blend of annoyance and inspiration, I decided to build my own solution. The tool, which came to be known as the "Ilse App," was designed to respect the genuine colors of each picture, ultimately crafting a true mosaic.
The idea was simple in principle, yet challenging in execution. I divided the main canvas into n*m
tiles (typically with n
and m
around 20 to 30). Each tile was further subdivided into x*x
sub-frames, usually between 2 and 4. For each sub-frame, the app extracted the average RGB (Red, Green, Blue) values. With x=2
, for instance, this would result in a vector of length 2^2*3
describing each tile.
Next, I downloaded and indexed my entire Apple and Google photo libraries in the same way. For each tile on the main canvas, the app searched for the image whose RGB vector had the smallest L2 distance to the tile's vector. That image was then placed in the corresponding position on the canvas.
Performing this process for every tile resulted in a large image composed entirely of different, unedited pictures. The result was a mosaic that was not only aesthetically pleasing but also deeply personal. Every tile in the mosaic was a moment from our life, depicted in its original color and brightness.