二值图像分割成若干矩形的算法,求助

ericzkx 2012-07-19 06:07:06
有一个二值图像,比如就16*16大小,用pixel[i][j]存下数值,白为1,黑为0,找到里面所有的0,然后把所有的0分割成若干不交叠的矩形,并且使分割后的矩形数量尽量少,感觉很简单,但是自己编了一下,编不出来,请问有人能给我一小段关键代码或是建议吗?
...全文
255 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
relaxisland 2012-07-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

可能是我表述不对,如果有三角形,那就三角形分割成矩形,总之是把所有0的连通区域分割成最少的不重叠的矩形,你说的我不太理解,不知能不能详细点?谢谢
引用 1 楼 的回复:

别管前景是啥形状,弄个boundingbox,然后画4条边出去,黑色背景可以永远只分4个矩形
不过你这个题目有问题吧?所有的0如果不能完全用矩形描述呢?例如一个图中间有个白色三角形
[/Quote]
就是说最小的矩形 可以是一个像素本身?
fengbingchun 2012-07-20
  • 打赏
  • 举报
回复
先求出所有的连通区域,然后求每个连通区域的最小外接矩形,然后在判断这些外接矩形是否有交叠,如果有交叠依次合并,重复进行,这应该是一个办法吧,用OpenCV实现应该容易些。
ericzkx 2012-07-20
  • 打赏
  • 举报
回复
没错,是这样的
[Quote=引用 3 楼 的回复:]

引用 2 楼 的回复:

可能是我表述不对,如果有三角形,那就三角形分割成矩形,总之是把所有0的连通区域分割成最少的不重叠的矩形,你说的我不太理解,不知能不能详细点?谢谢
引用 1 楼 的回复:

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

ericzkx 2012-07-19
  • 打赏
  • 举报
回复
可能是我表述不对,如果有三角形,那就三角形分割成矩形,总之是把所有0的连通区域分割成最少的不重叠的矩形,你说的我不太理解,不知能不能详细点?谢谢
[Quote=引用 1 楼 的回复:]

别管前景是啥形状,弄个boundingbox,然后画4条边出去,黑色背景可以永远只分4个矩形
不过你这个题目有问题吧?所有的0如果不能完全用矩形描述呢?例如一个图中间有个白色三角形
[/Quote]
libralibra 2012-07-19
  • 打赏
  • 举报
回复
别管前景是啥形状,弄个boundingbox,然后画4条边出去,黑色背景可以永远只分4个矩形
不过你这个题目有问题吧?所有的0如果不能完全用矩形描述呢?例如一个图中间有个白色三角形

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧