opencv 一点轮廓的问题 求解答

tlnlove2011 2011-09-15 08:24:50
if(r.height*r.width>500)
cvRectangle(rawImage,cvPoint(r.x,r.y),cvPoint(r.x+r.width,r.y+r.height),CV_RGB(255,0,0),1,8,0);
这个是对轮廓进行操作 r.height r.width也就是轮廓的长和宽
后来我求出了轮廓的面积 为什么
if(area>500)
cvRectangle(rawImage,cvPoint(r.x,r.y),cvPoint(r.x+r.width,r.y+r.height),CV_RGB(255,0,0),1,8,0);
这样写就不进行cvRectangle的操作了呢 难道他俩的意思不一样吗?
谢谢 请大家发言
...全文
295 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wqhua 2011-09-18
  • 打赏
  • 举报
回复
cvBoundingRect()里面有个参数,好象是是否考虑矩形边界的,不考虑边界的话,就是CvContour的rect,考虑边界的话,计算的结果好像也是放到了contour的头里面。
还是查查cvcontour的源文件看看。
不用就忘记了。按楼上说的,不同的用法,弹出结果看看区别,映像更深刻
tlnlove2011 2011-09-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhd320 的回复:]
引用 4 楼 tlnlove2011 的回复:
引用 3 楼 zhd320 的回复:
我是菜鸟,我感觉是不是cvContourArea得到的值和r.height*r.width不同啊,你单步调试下,看下那些值

弱弱的问一下 opencv配置vs2008怎么单步调试啊

只用过opencv 1.0在vc6.0上
不能单步调试?我不知道
那就把r.height*r.width的值和a……
[/Quote]
他们俩的值不一样 r.height*r.width比cvContourarea求出的面积要大些 我好像有点明白了 因为前者求的是这个轮廓外界矩形的面积 而后者求出的是这块轮廓的面积 所以前者比后者大些 对吗
tlnlove2011 2011-09-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wqhua 的回复:]
引用 6 楼 tlnlove2011 的回复:

引用 5 楼 wqhua 的回复:
r 是什么?
轮廓?
轮廓有宽度和高度吗?好像是要通过轮廓链表得到一个外接矩形或内接矩形吧。

CvRect r=((CvContour*)pcontour)->rect;
我感觉r.height r.width就代表外接矩形的高和宽吧 是这个意思吗?


CvRect r=((CvCont……
[/Quote]
您说的对 opencv里有一个cvBoundingRect函数 他也是求外接矩形 他们有什么区别呢 谢谢
tlnlove2011 2011-09-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wqhua 的回复:]
cvBoundingRect()里面有个参数,好象是是否考虑矩形边界的,不考虑边界的话,就是CvContour的rect,考虑边界的话,计算的结果好像也是放到了contour的头里面。
还是查查cvcontour的源文件看看。
不用就忘记了。按楼上说的,不同的用法,弹出结果看看区别,映像更深刻
[/Quote]
谢谢!嘿嘿
zhd320 2011-09-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tlnlove2011 的回复:]
引用 3 楼 zhd320 的回复:
我是菜鸟,我感觉是不是cvContourArea得到的值和r.height*r.width不同啊,你单步调试下,看下那些值

弱弱的问一下 opencv配置vs2008怎么单步调试啊
[/Quote]
只用过opencv 1.0在vc6.0上
不能单步调试?我不知道
那就把r.height*r.width的值和area输出,看看结果是否相等

wqhua 2011-09-16
  • 打赏
  • 举报
回复
r 是什么?
轮廓?
轮廓有宽度和高度吗?好像是要通过轮廓链表得到一个外接矩形或内接矩形吧。
wqhua 2011-09-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 tlnlove2011 的回复:]

引用 5 楼 wqhua 的回复:
r 是什么?
轮廓?
轮廓有宽度和高度吗?好像是要通过轮廓链表得到一个外接矩形或内接矩形吧。

CvRect r=((CvContour*)pcontour)->rect;
我感觉r.height r.width就代表外接矩形的高和宽吧 是这个意思吗?
[/Quote]

CvRect r=((CvContour*)pcontour)->rect; 这样的话就代表外接矩形的高和宽了
tlnlove2011 2011-09-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhd320 的回复:]
我是菜鸟,我感觉是不是cvContourArea得到的值和r.height*r.width不同啊,你单步调试下,看下那些值
[/Quote]
弱弱的问一下 opencv配置vs2008怎么单步调试啊
tlnlove2011 2011-09-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wqhua 的回复:]
r 是什么?
轮廓?
轮廓有宽度和高度吗?好像是要通过轮廓链表得到一个外接矩形或内接矩形吧。
[/Quote]
CvRect r=((CvContour*)pcontour)->rect;
我感觉r.height r.width就代表外接矩形的高和宽吧 是这个意思吗?

zhd320 2011-09-15
  • 打赏
  • 举报
回复
我是菜鸟,我感觉是不是cvContourArea得到的值和r.height*r.width不同啊,你单步调试下,看下那些值
tlnlove2011 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fengbingchun 的回复:]
area = r.height*r.width是这样得出的吗?
[/Quote]
不是 用求轮廓面积的函数cvContourArea得出
fengbingchun 2011-09-15
  • 打赏
  • 举报
回复
area = r.height*r.width是这样得出的吗?

19,468

社区成员

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

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