有一个二值图像,比如就16*16大小,用pixel[i][j]存下数值,白为1,黑为0,找到里面所有的0,然后把所有的0分割成若干不交叠的矩形,并且使分割后的矩形数量尽量少,感觉很简单,但是自己编了一下,编不出来,请问有人能给我一小段关键代码或是建议吗?

解决方案 »

  1.   

    别管前景是啥形状,弄个boundingbox,然后画4条边出去,黑色背景可以永远只分4个矩形
    不过你这个题目有问题吧?所有的0如果不能完全用矩形描述呢?例如一个图中间有个白色三角形
      

  2.   

    先求出所有的连通区域,然后求每个连通区域的最小外接矩形,然后在判断这些外接矩形是否有交叠,如果有交叠依次合并,重复进行,这应该是一个办法吧,用OpenCV实现应该容易些。