【发布时间】:2010-08-08 04:22:51
【问题描述】:
假设我打开MS Paint,画了一堆实心矩形,保存为png,然后给你:
现在你必须了解我是如何绘制这些矩形的。对于这张图片,您的算法会生成如下指令,
- 绘制绿色矩形(填满整个空间)
- 绘制粉色矩形
- 绘制黄色矩形
- 绘制蓝色矩形
或者换句话说,给定一张图片,我想尽可能使用最少的矩形命令来生成它。矩形命令根据其位置、长度、宽度和颜色绘制一个实心矩形。我该如何解决这个问题?
算法应该足够健壮,不仅可以处理通过放置矩形绘制的图像,还可以处理像照片这样的复杂图像。
【问题讨论】:
-
是的,我认为 DP 会起作用,但我不知道具体如何做
-
DP 可能是很多东西。你选择什么语言?
-
最后一句话让我觉得有一个更大的图景。你真正想做的是什么?
-
试图编写一个程序来生成一个绘制图像的程序。现在我有像素(0,0,红色)等,所以我正在寻找一种更有效的方法来做到这一点。算法应该是非特定语言的。
-
一种巧妙的算法来处理从不倾斜的矩形将比处理照片的算法简单得多。使用像矩形这样的简单几何形状,您可以过滤颜色并计算结果形状的边数。根据彩色区域的边界计算长度和宽度,并从边数最多的颜色开始构建矩形。不过,你不能用照片来做到这一点......
标签: algorithm