从原始图像加入拼图

时间:2012-03-27 13:38:26

标签: algorithm image puzzle brute-force

我有“2000 RAW Images”52x52像素,对应于代表4000x1250像素图像的拼图块。图像文件名也是生成的一堆数字,似乎有一些与暴力强迫有关的东西?

正如我所提到的,我需要将图像连接在一起以完成拼图。我不知道从哪里开始,有什么帮助?

图像为RGB 24位。

2 个答案:

答案 0 :(得分:1)

我会亲自比较各个部分的颜色,并在统计上与下一个拼图相匹配。

  1. 编写一个只返回拼图块第一个像素行或列的函数。
  2. 编码一个函数,该函数将根据3个最近邻居返回2个边框之间的匹配像素数(rgb颜色值)。
  3. 为每个拼图位置循环并比较foreach可能的下一个拼图块。保持拼图块具有相同颜色的最接近像素。
  4. 我希望您可以获得图像的1像素边框并比较rgb值。

答案 1 :(得分:1)

听起来像一个有趣的项目。以下是我将如何处理它:

  1. 尝试创建每种图像边缘的某种轮廓。例如,它可以基于边缘像素的RGB值。

  2. 创建从此类配置文件到四个集合的映射,其中包含左/下/右/上边缘与配置文件匹配的图像。

    ...
    xyz -> { { images whose left   edge has profile xyz },
             { images whose bottom edge has profile xyz },
             { images whose right  edge has profile xyz },
             { images whose top    edge has profile xyz } }
    ...
    
  3. 现在为每个图像计算其4个边缘轮廓。尝试将其与相应集中的每个图像配对。如果左侧个人资料为xyz,请尝试将其放在右侧个人资料为xyz的每个图片旁边。