OPENCV contourArea 计算区域面积

dd985081749 2017-08-09 11:16:24

利用OPENCV 如何计算此图片中,用黑线画出来的区域面积;
我做了一左键点击事件,点一次,把点记录下来去用contourArea进行计算,但始终出现异常;
问题一、计算区域面积时,是否需要做其它操作?
问题二、我在黑线区域内又画了一个区域,如何是否可以一次性计算出大区域未被小区域圈进去的部分?
...全文
3616 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-08-11
  • 打赏
  • 举报
回复
引用 6 楼 dd985081749 的回复:
[quote=引用 5 楼 zhao4zhong1 的回复:] 外轮廓和中间的孔洞区别是构成轮廓的节点顺序是逆时针/顺时针。 或者反过来。
嗯,我就是想得出去掉内部孔,得到外问题区域[/quote] 参考OpenCV自带的例子: opencv\sources\samples\cpp\contours2.cpp
dd985081749 2017-08-11
  • 打赏
  • 举报
回复
引用 5 楼 zhao4zhong1 的回复:
外轮廓和中间的孔洞区别是构成轮廓的节点顺序是逆时针/顺时针。 或者反过来。
嗯,我就是想得出去掉内部孔,得到外问题区域
沐阳2100 2017-08-10
  • 打赏
  • 举报
回复
不知道你是怎么做的,不过contourArea是计算轮廓的面积的,你可能需要先找轮廓(轮廓是闭合的),单纯的点集可能计算不出来
赵4老师 2017-08-10
  • 打赏
  • 举报
回复
外轮廓和中间的孔洞区别是构成轮廓的节点顺序是逆时针/顺时针。 或者反过来。
dd985081749 2017-08-10
  • 打赏
  • 举报
回复
引用 2 楼 m0_37901643 的回复:
不知道你是怎么做的,不过contourArea是计算轮廓的面积的,你可能需要先找轮廓(轮廓是闭合的),单纯的点集可能计算不出来
三个点以上就是一个闭合区间。具体算法,当有重合区域的时候,做计算还是有一点问题。
dd985081749 2017-08-10
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止
找到原因了,没有问题。第一个问题解决,第二个问题还没有解决。
赵4老师 2017-08-09
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止

15,980

社区成员

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

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