gpt4 book ai didi

OpenCV : number of nested contours

转载 作者:太空宇宙 更新时间:2023-11-03 22:16:07 26 4
gpt4 key购买 nike

这是我的第一个问题,感谢您阅读。

我正在尝试计算轮廓内的内部轮廓的数量。

我找到了一个很好的教程,展示了如何使用 h_next 和 v_next

http://jmpelletier.com/a-simple-opencv-tutorial/

问题是我使用 Mat 而不是 IplImage。

我尝试将其转换为:

垫*oimg;IplImage img = *oimg;

但是调用 cvFindContours 时出现错误。

我还尝试使用 usign findContours,它是为与 Mat 一起工作而构建的,

通过层次结构,但没有用。

我正在使用 C++ 和 OpenCV2.0

谢谢分配,

塔米尔。

最佳答案

而不是转换 cv::MatIplImage要使用 C API,我建议直接使用 cvFindContours() 的 C++ 版本: cv::findContours() .它没有构建真正的树数据结构,而是被展平并存储在两个向量中:

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);

检查 C++ API documentation有关如何解释 hierarchy 的说明(强调我的):

hiararchy – The optional output vector that will contain information about the image topology. It will have as many elements as the number of contours. For each contour contours[i] , the elements hierarchy[i][0] , hiearchyi , hiearchy[i][2] , hiearchy[i][3] will be set to 0-based indices in contours of the next and previous contours at the same hierarchical level, the first child contour and the parent contour, respectively. If for some contour i there is no next, previous, parent or nested contours, the corresponding elements of hierarchy[i] will be negative

在同一代码库中切换 C 和 C++ API 确实会损害可读性。如果 C++ API 缺少您需要的功能,我建议仅使用 C API。

关于OpenCV : number of nested contours,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6634669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com