社区
图形处理/算法
帖子详情
把不规则多边形分割成矩形的问题
bdxxxx
2011-11-07 04:56:43
有一个由多个矩形重叠成的不规则图形,要重新分割成多个矩形不重叠组成的图形,求思路或者算法,自己写了很多次不是太麻烦就是太局限就是考虑不周到。。。
分割的结果类似下图
...全文
2164
17
打赏
收藏
把不规则多边形分割成矩形的问题
有一个由多个矩形重叠成的不规则图形,要重新分割成多个矩形不重叠组成的图形,求思路或者算法,自己写了很多次不是太麻烦就是太局限就是考虑不周到。。。 分割的结果类似下图
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
caozl
2011-11-10
打赏
举报
回复
[Quote=引用 12 楼 bdxxxx 的回复:]
引用 11 楼 caozl 的回复:
如果任一分法都可以的话 是不是这样认为呢
既然是由多个矩形重叠成的不规则图形 那就一个一个的把矩形给累加上去
两个矩形的并结果最多可以分成三个矩形。然后再把下一个矩形与这些结果分别做并。
两个矩形有重叠部分 最一般的结果不是3个矩形,而是一个矩形和2个L型多边形
[/Quote]
我的意思并不是求交 而是指X轴方向或Y轴方向上切开并运算的结果 这样可以得到3个矩形吧
然后就是不断的添加矩形与当前存在的矩形去运算。把运算结果取出再重新添加
bdxxxx
2011-11-10
打赏
举报
回复
[Quote=引用 11 楼 caozl 的回复:]
如果任一分法都可以的话 是不是这样认为呢
既然是由多个矩形重叠成的不规则图形 那就一个一个的把矩形给累加上去
两个矩形的并结果最多可以分成三个矩形。然后再把下一个矩形与这些结果分别做并。
[/Quote]
两个矩形有重叠部分 最一般的结果不是3个矩形,而是一个矩形和2个L型多边形
caozl
2011-11-10
打赏
举报
回复
如果任一分法都可以的话 是不是这样认为呢
既然是由多个矩形重叠成的不规则图形 那就一个一个的把矩形给累加上去
两个矩形的并结果最多可以分成三个矩形。然后再把下一个矩形与这些结果分别做并。
caozl
2011-11-10
打赏
举报
回复
[Quote=引用 15 楼 bdxxxx 的回复:]
引用 14 楼 caozl 的回复:
我对这个问题的基本思路是:
定义CRECT类 在这个类里有一个方法:
bool CRECT::AddRect(CRect& rect, std::vector<CRect>& rectResults);
当两个矩形相交或者可以合并为一个矩形的时候,这个方法返回true, 并把合并的结果传出
输入为一个std::……
[/Quote]
不需要整理 因为
bool CRECT::AddRect(CRect& rect, std::vector<CRect>& rectResults);
当两个矩形相交或者可以合并为一个矩形的时候,这个方法返回true, 并把合并的结果传出
如果生成的矩形可以和相邻的矩形合并的话 在添加进结果数组的时候就会合并了。
peterormike
2011-11-10
打赏
举报
回复
沿着凹点分割,递归处理。以9楼的图形为例:
http://hi.csdn.net/attachment/201111/10/2530173_1320907025RRCC.jpg
bdxxxx
2011-11-10
打赏
举报
回复
[Quote=引用 14 楼 caozl 的回复:]
我对这个问题的基本思路是:
定义CRECT类 在这个类里有一个方法:
bool CRECT::AddRect(CRect& rect, std::vector<CRect>& rectResults);
当两个矩形相交或者可以合并为一个矩形的时候,这个方法返回true, 并把合并的结果传出
输入为一个std::vector<CRect> rectInput;
输出为……
[/Quote]
应该是可以 但是这会导致分块越来越小,矩形越来越多,还需要在分成小块之后进行整理
caozl
2011-11-10
打赏
举报
回复
我对这个问题的基本思路是:
定义CRECT类 在这个类里有一个方法:
bool CRECT::AddRect(CRect& rect, std::vector<CRect>& rectResults);
当两个矩形相交或者可以合并为一个矩形的时候,这个方法返回true, 并把合并的结果传出
输入为一个std::vector<CRect> rectInput;
输出为一个std::vector<CRect> rectOutput;
把rectInput里的矩形分别与rectOutput中的矩形做AddRect运算 如果返回TRUE 就把返回的结果给push_back到rectInput的后面。并把rectOutput中的这个矩形给删除。
bdxxxx
2011-11-09
打赏
举报
回复
呃 看来没人有兴趣啊
laviewpbt
2011-11-07
打赏
举报
回复
利用WINDOWS的GDI函数GetRegionData 的话可以得到如下的四个矩形。
谁是我的谁的谁
2011-11-07
打赏
举报
回复
不要瞎出主意了 典型的图形学2维几何(可以中空-有孔) 运算(并)问题
用户 昵称
2011-11-07
打赏
举报
回复
[Quote=引用 6 楼 bdxxxx 的回复:]
引用 2 楼 jennyvenus 的回复:
可不可以这样
把边界的线段提取出来,一定要提取到最短的线段,不能再分,然后找共有线段。
然后判断如果没有共有线段的话,某个矩形是不是一个矩形
这个样子分出来的矩形是不是太小了。。。
[/Quote]
不知道啊,俺所能想像的就是这个了
bdxxxx
2011-11-07
打赏
举报
回复
[Quote=引用 2 楼 jennyvenus 的回复:]
可不可以这样
把边界的线段提取出来,一定要提取到最短的线段,不能再分,然后找共有线段。
然后判断如果没有共有线段的话,某个矩形是不是一个矩形
[/Quote]
这个样子分出来的矩形是不是太小了。。。
bdxxxx
2011-11-07
打赏
举报
回复
[Quote=引用 3 楼 bhybhybhy2 的回复:]
查 图形学 2维图形的几何运算
代码到cgal里面找
[/Quote]
多谢
bdxxxx
2011-11-07
打赏
举报
回复
[Quote=引用 1 楼 happyparrot 的回复:]
你所画的只是一个很简单的特例,能选择的拆分方法只有一种。而对于复杂的重叠情况,可能能够满足条件的拆分方法并不止一种,你如何要求哪种是正确的,或者任何一种都可以呢?
[/Quote]
我画的却是是很简单的,实际情况是还有可能是中空的, 满足拆分条件的都任一分法都可以
谁是我的谁的谁
2011-11-07
打赏
举报
回复
查 图形学 2维图形的几何运算
代码到cgal里面找
用户 昵称
2011-11-07
打赏
举报
回复
可不可以这样
把边界的线段提取出来,一定要提取到最短的线段,不能再分,然后找共有线段。
然后判断如果没有共有线段的话,某个矩形是不是一个矩形
快乐鹦鹉
2011-11-07
打赏
举报
回复
你所画的只是一个很简单的特例,能选择的拆分方法只有一种。而对于复杂的重叠情况,可能能够满足条件的拆分方法并不止一种,你如何要求哪种是正确的,或者任何一种都可以呢?
解析几何——已知一个
多边形
,与另外一个
矩形
相交,求相交后形
成
的
多边形
(组合)
本文介绍如何利用Boost Geometry库实现
多边形
与
矩形
相交后的合并运算,生
成
统一外部边界。算法支持高精度、高效处理大规模数据,并可正确处理空洞及复杂拓扑结构,适用于地理信息系统、CAD等领域的图形布尔运算需求。
python+opencv图像
分割
:
分割
不规则
ROI区域方法汇总
本文总结了在图像
分割
中处理
不规则
ROI区域的三种方法:已知边界坐标绘制
多边形
、形态学操作产生Mask以及人机交互式
分割
。提供了核心代码示例,并指出人机交互式
分割
可用于获取ROI的ground-truth以评估机器
分割
的准确性。
【学习ing】二维
不规则
多边形
排样
问题
本文围绕二维
不规则
多边形
排样
问题
展开,介绍了nesting步骤,包括底部几何算法、排样策略和优化搜索算法。重点阐述了NFP方法,对比了其与传统三角学方法的优劣,还说明了NFP的定义、用法、构建方式,如双凸图形和非凸图形的构建方法等。
求四边形最大内接
矩形
,一种
不规则
多边形
的最大内接
矩形
的快速近似求解方法与流程...
本发明提出一种
不规则
多边形
的最大内接
矩形
的快速近似求解方法,用于图像解译。该方法简化生
成
步骤,以图像为单位处理,利用并行技巧提升速度,还提供divide_size参数平衡时间复杂度和近似程度,实验表明其能高效准确地裁剪出近似内接
矩形
。
opencv图像
分割
python_python+opencv图像
分割
:
分割
不规则
ROI区域方法汇总
博客聚焦图像
分割
领域,探讨
分割
感兴趣(ROI)区域的方法。介绍了简易
矩形
ROI区域的
分割
本质是多维数组切片,重点总结了三种
分割
不规则
ROI区域的思路,包括已知边界坐标画
多边形
、通过形态学操作产生Mask、人机交互式用鼠标点击产生
多边形
,并给出部分代码示例。
图形处理/算法
19,466
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章