How jigazo puzzle work?(algorithm?)

I found this really interesting puzzle game ( so I bought a box. I played with it and searched a lot on the web to find out how it works. Well, I understand how it’s working but what I don’t understand is how the algorithm can look like.

Then I found this: . Zach Lieberman is behind this toy!!! and it was, at one point, developed with openFrameworks. This is a commercial product so there is probably no source available and it’s alright.

What I want is some leads, informations, books, name of the calculation done, libraries that can helps… anything that can help me implement this for personal use, learning and fun.

I know Zach is somewhere in this forum: this Jigazo puzzle really fascinate me!

1 Like


Sorry, I’m not really at liberty to discuss the algorithms involved since there’s a ton of IP and contract issues involved, I’d love to help – you might have luck looking at approaches to photomosiacs, there are many open source implementations around.

I did find however find this open source code helpful with the color version of jigazo:

I know this doesn’t answer your question but I’m happy to help however I can without disclosing proprietary info.

  • zach

Thank you @zach! your help is really appreciated.

I’ve read the paper and found out that it is not a simple question of color matching but also one of color difference(or distance). More specifically, if the project is done in gray tones, a question of lightness. With works and reading I think it is doable.

For now, I’m working on a prototype that convert an image in grayscale using openCV to make the conversion base on luminance then separate this image in square pieces to finally pixelate each piece to reduce the amount of color information to analyze. Once done, I got multiple (int)arrays of gray tone(0-255) ready to be compare to another gray tones image.

Now, that’s where I am. The next step, I think, is comparing each pieces with each sections of the final image, one by one, and attributing a score for each. This score would represent the likeliness of the piece in a certain position on an image grid. At the end, each pieces will be place in accordance to there score beginning with the highest. If more than one piece fit the same spot, another score is calculated for those pieces base on a less pixelate version.

Well, that’s my current ideas. I will return to my files and try out those methods.

I’m not done reading about photomozaic and colors. In the meantime, I’m ready to hear about other ideas and reference propositions.

I’ll come back with results and new ideas(probably) as the project will grow.

Again, thank you @zach, your hints are helpful.

1 Like

Greetings Zach!
Is there a version of the jigazo puzzle software available that will incorporate more puzzle sets for a larger, higher resolution image? For example, a single image that requires four (2by2) or nine (3by3) 300-piece jigazo sets to build? I tried splitting a B/W image into four quadrants and using a set to build each quadrant image, and then combining the results, but the composite image had a noticeable line running through the middle horizontally and another line vertically. (… obviously, since the separate runs of the software were limited to their own 300-piece quadrant view of the image.)



greetings – sorry, there’s no version of the software that does that as far as I know. You might try contacting tenyo and asking if you are using the japanese version of the puzzle - I know there was some discussion about this but I don’t think it’s ever been implemented.