1

假设我有一个非常简单的图像,有几种颜色(白色、黑色、灰色)。我有一组小图像(很多)。是否有任何库可以帮助我使用所有小图像作为构建块来重建大图像?像马赛克一样。

这是一个例子:http ://d.pr/i/LJ0Z

PS我试图用谷歌搜索一个解决方案,但由于我的英语不好,我似乎无法创建正确的搜索查询。我只获得用于创建马赛克的软件解决方案。

4

2 回答 2

1

只是在这里发布我的问题的解决方案,以防将来有人需要。

假设您有一个带有几种颜色的简单图像。您需要使用一组较小的图像(如马赛克)重新创建它。

  1. 将您的图像拆分为单元格(4x4、8x8 或任何其他数字)并为每个单元格分配相应的颜色(换句话说,“像素化”您的图像),为您拥有的每种颜色创建单元格数组。
  2. 实现本文中最大矩形问题的清单 #4:http ://www.drdobbs.com/database/the-maximal-rectangle-problem/184410529 (非常感谢 David Vandevoorde 的出色解释!)
  3. 现在,对于您拥有的每个小图像(马赛克碎片),将其大小确定为矩形。然后,使用您选择的矩形打包算法用这些小图像填充最大矩形(我一直在 C# 中使用这个:http: //kossovsky.net/index.php/2009/07/cshar-rectangle-packing/再次感谢作者的分享!)

而已。它不是很快,但它可以完成工作。

于 2013-07-09T12:08:06.010 回答
0

这个搜索出现了各种结果:

等等

添加“python 库”发现osaic。重复您使用的任何语言...

于 2013-06-30T22:04:13.033 回答