给出具有固定调色板(例如256色)的图像
创建一种算法,将图像分成矩形区域,每个区域均由相同颜色的像素组成。区域可以重叠,它们的顺序也很重要(最后一个区域将在其他区域之上绘制)。区域数应尽可能少。
问题的替代表达:使用最少的fill
条指令绘制图像。
我非常确定这个问题是NP完全的,因此,较之于需要永久运行的精确解决方案,更快的解决方案会更好。
最简单的方法是逐行扫描图像并生成高度为1的矩形。但这不是很有效。
我也在考虑创建一个四叉树,然后合并相邻区域(合并将需要某种启发式方法来选择最佳的合并对)。
以上两种算法都不认为这些区域可能重叠。我们可以绘制一个巨大的区域,然后在其上方绘制细节。
有什么想法吗?