求生成Montage效果的算法
如上图, 这是http://scomotle.org/alittleadventure/?tag=montage上面一幅蒙太奇照片. 如何用程序实现这种效果? 请大神们提供一个思路.
现有N张图片的长宽组成的数组: int geometry[N][2];
, 这些图片大都大小不等, 比例不等. 按比例缩放它们(缩放的结果向下取整即可), 使它们能密铺一幅 WIDTH * HEIGHT
的大的画布, 要求一个算法, 使(优先程度按顺序由高到低):
- 这些图片之间的重叠尽可能地少;
- 这些图片图片的面积的方差尽可能地小, 使每一幅照片都看得清楚;
- 在这张画布上的线段尽可能地多, 也就是尽可能不要使两幅照片的边处在同一直线上, 尽量错开以实现一种凌乱美wwww.
问题可能问得不太明确, 如果有哪里说的不清楚的尽管提出, 谢谢. 如果有实现代码, 也请尽量用C/C++来表示, N/WIDTH/HEIGHT 都是常数.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论