OpenCV:嵌套轮廓的数量
这是我的第一个问题,谢谢你的阅读 我试图计算轮廓内的内部轮廓数 我发现了一个很好的教程,展示了如何使用h_next和v_next 问题是我用的是垫子,而不是IplImage 我试图用以下方法将其转换: Mat*oimg; IplImage img=*oimg 但我在调用cvFindContours时出错 我还试着使用findContours,它是用来和Mat一起工作的 通过等级制度,但它不起作用OpenCV:嵌套轮廓的数量,opencv,contour,Opencv,Contour,这是我的第一个问题,谢谢你的阅读 我试图计算轮廓内的内部轮廓数 我发现了一个很好的教程,展示了如何使用h_next和v_next 问题是我用的是垫子,而不是IplImage 我试图用以下方法将其转换: Mat*oimg; IplImage img=*oimg 但我在调用cvFindContours时出错 我还试着使用findContours,它是用来和Mat一起工作的 通过等级制度,但它不起作用 我是C++和OpenCV2.0 < /P> 谢谢你 < >塔米尔> < P> >而不是将 CV:
我是C++和OpenCV2.0 < /P> 谢谢你
< >塔米尔> < P> >而不是将<代码> CV::Mat < /C> >到<代码> IplImage < /> >使用C API,我直接建议使用C++版本的Cux> CVFundCopeOutsSo()/<代码>:<代码> CV::FundCurror()。不是构建真正的树数据结构,而是将其展平并存储在两个向量中:
cv::Mat image = // ...
std::vector<std::vector<cv::Point> > contours;
std::vector<cv::Vec4i> hierarchy;
cv::findContours(image, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_NONE);
cv::Mat image=/。。。
矢量轮廓;
向量层次;
cv::findContours(图像、轮廓、层次、cv_-RETR_树、cv_-CHAIN_-Abrow_-NONE);
有关如何解释层次结构的说明,请查看:
Hiarachy–可选输出向量
其中将包含有关
图像拓扑。它将有
许多元素作为
轮廓线。对于每个等高线[i]
,元素层次结构[i][0],
教权,教权[i][2],,
层级[i][3]将设置为基于0
下一个和下一个的等高线中的索引
以前的等高线相同
层次层次,第一个孩子
等高线和父等高线,
分别。如果对于某些轮廓i
没有下一个、上一个、父项或子项
嵌套等高线,对应的
层次结构[i]的元素将是
否定的
在同一个代码库中C和C++ API之间的切换确实会影响可读性。我建议只使用C API,如果您需要的功能是从C++ API中丢失的。
使用Case:Mat矩阵;iplimage*p;p=&((iplimage)矩阵)