二维混合瓦片的逆向工程

时间:2014-11-29 21:02:58

标签: windows-7 imagemagick qr-code

我有25个瓷砖,每个94x94px,以前分割的QR码(470x470px)。我需要通过将所有可能的图块组合成一个图像来恢复QR码。 3个瓷砖假设是"锚点"或位于NW,NE和SW角落的大方块。因此,我们剩下22个未知位置的瓷砖。如何使用ImageMagick生成所有可能的组合?

更新

我的第一种方法是使用所有组合生成文本文件(稍后将作为输入提供给ImageMagick),同时考虑静态方块(NW,NE和SW角)。我很难理解如何与IM命令行界面进行交互。如何通过命令传递文本文件告诉IM怎么做?

更新2

感谢Kurt Pfeifle的澄清。实际上,这需要花费大量的时间和资源。也许我可以用老式的方式做到这一点。所有谜题的解决方式:打印出来,手动切割成25个瓷砖,并将其组合。我知道这可能听起来很荒谬,但这只是我能想到的那一刻可能的解决方案。如果我决定采用这种方式,我需要知道如何生成QR码的规则。我知道三面大广场的位置。我还需要知道什么?

也许有更优雅的方式来做到这一点? (请不要建议拆分为瓷砖并导入Photoshop。试过。浪费了很多时间。)

更新3

这是我使用ImageMagick分割的QR码和图块。

QR code and tiles

更新4

我怀疑QR已经旋转了180度CW,因为大方块有白色空间,很可能位于NE,SW和SE角落。我不确定是否应用了每个瓷砖的旋转,但就我在Photoshop中使用它们而言,至少7个没有旋转对齐(*虽然不是100%确定)....

更新5

据我所知,编写算法会比使用暴力搜索更有用但更有帮助。约束应该是:
    1. 2个连通块的线宽和高度必须对应于某个px范围(例如:如果产生1px线或点,则不能连接2个块)

更新6

先生,谢谢你!我从关于角落元素的错误假设开始,这是我的问题导致我无处可去。在我知道如何在其他角落放置角元素之后,在Photoshop中工作几分钟。虽然即使错误地放置了角块,我还是要指出大约10个元素对齐到一个大块的位置。现在我挑战提出算法,根据一套规则完全自动对齐这些图块(Python + ImageMagick' MagickWand API)

0 个答案:

没有答案