求生成Montage效果的算法

Montage Effect

如上图, 这是http://scomotle.org/alittleadventure/?tag=montage上面一幅蒙太奇照片. 如何用程序实现这种效果? 请大神们提供一个思路.

现有N张图片的长宽组成的数组: int geometry[N][2];, 这些图片大都大小不等, 比例不等. 按比例缩放它们(缩放的结果向下取整即可), 使它们能密铺一幅 WIDTH * HEIGHT 的大的画布, 要求一个算法, 使(优先程度按顺序由高到低):

  1. 这些图片之间的重叠尽可能地少;
  2. 这些图片图片的面积的方差尽可能地小, 使每一幅照片都看得清楚;
  3. 在这张画布上的线段尽可能地多, 也就是尽可能不要使两幅照片的边处在同一直线上, 尽量错开以实现一种凌乱美wwww.

问题可能问得不太明确, 如果有哪里说的不清楚的尽管提出, 谢谢. 如果有实现代码, 也请尽量用C/C++来表示, N/WIDTH/HEIGHT 都是常数.

以上是 求生成Montage效果的算法 的全部内容, 来源链接: utcz.com/p/194318.html

回到顶部