作者Leeber ()
看板C_and_CPP
标题[问题] opencv关於内部轮廓contour的问题
时间Sun Nov 15 04:22:53 2009
使用findcontour找出内外部轮廓
并且用drawcontour画出来,如下图
http://www.wretch.cc/album/show.php?i=lordleeber&b=2&f=1319307559&p=2
问题:要如何知道每个外部轮廓之内有几个内部轮廓?
我想做出的效果是:如果这个轮廓里面没有其他轮廓,
那这个轮廓就移除掉(或不显示)。
感觉opencv里面应该有可是我又不知道怎麽用:Q
ps:我试过像是boundingrect或是contourarea这些函数
用的是相同的*contour,但它们都只有计算外部轮廓而已
-------------------------------------------------------
另外一个问题是:
opencv的"范例:高级图像处理初步"
最下面画轮廓的时候使用了
for(;cont;cont = cont->h_next)
{
cvDrawContours( dst_contours, cont, CV_RGB(255, 0, 0), CV_RGB(255, 0,
0), 0, 1, 8, cvPoint(0, 0) ); //绘制当前轮廓
............以下略
本来我想先拿掉drawcontour跑一次这个回圈以求得平均面积
後来我再用一个for回圈去跑drawcontour
结果这 第二个for回圈 会完全没用
输出图是一片黑
问题:为什麽不能用第二次?
请赐教,感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.165.232.100
※ 编辑: Leeber 来自: 118.165.232.100 (11/15 04:27)