Python照片马赛克与抽象形马赛克

图像马赛克使用一组预定义的平方图像来构建更大的图像(此处为示例)。 有很多解决方案,并且实现这种效果相当微不足道。 但是,由于以下限制,它变得更加困难:

  • 原始马赛克的形状是抽象的。 任何凸多边形都可以。
  • 每个镶嵌图只能使用一次。
  • 马赛克不需要绝对包装(即占据画布的100%),但是它们应该尽可能地包装而不重叠。
  • 我试图自动化古代艺术,特别是Opus palladianum技术。

    我的想法是使用模拟退火或其他启发法来优化每个不规则拼图的位置和旋转,在每次迭代中交换两个,试图最小化反映与目标图像相似性的能量函数以及瓷砖。 我试图在Python中实现这一点,任何想法和帮助将不胜感激。

    例:


    我期望你可能会使用具有“不重叠”约束的GA(遗传算法)来完成这项工作。

    单个(每个凸多边形)的参数是:

  • 初始位置
  • 回转
  • (大小?)
  • 当多边形不重叠时(并且接近其他个体),将建立适合功能以给每个人以最佳的笔记。

    你可能会看到这个视频和这个视频作为例子。

    问候

    链接地址: http://www.djcxy.com/p/39837.html

    上一篇: Python photo mosaic with abstractly shaped mosaics

    下一篇: Delphi: Changing focus after deleting a node from a virtual string tree