- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是我的第一个问题,感谢您阅读。
我正在尝试计算轮廓内的内部轮廓的数量。
我找到了一个很好的教程,展示了如何使用 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::Mat
到IplImage
要使用 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/
我想找到图像的轮廓,然后绘制它的凸包。我正在做的是加载图像、对它进行阈值处理、找到它的轮廓,然后绘制凸包。 gray = cv2.imread(test_paths[i], 0) ret, thres
我是 OpenCV 的新手,我正在尝试在特定轮廓内绘制外部轮廓。这是我用来澄清的图像(已经灰度化、阈值化等) 我想要的是找到外矩形内的所有圆圈(总共 120 个)的轮廓。 contours = cv
我试图在包含2个轮廓的图像中找到最大的轮廓,但其中一个不是闭合线。等高线是从图像的边缘切出的。另一个靠近并组成一个区域。 roi_cnts = sorted(roi_cnts, key = cv2.c
这是虚拟更衣室的代码 因此,基本上是为了运行此代码ubuntu 12.04,python 2.7.3,gtk2和opencv 2。它删除背景屏幕,在几乎任何光线条件下检测T恤,替换T恤颜色。编写用于替
我在创建轮廓时遇到问题。 我有一个 STL 文件,STL 文件包含许多面,通过将面与切割平面相交(Z=dz,x=y=0),我们在每个增量处都有一个线数组Z. 但是线条没有顺序。我想对它们进行排序和连接
我想绘制这个用 fill.contour() 创建的图形,但是在 ggplot2 中,我该怎么做呢? 我想使用 ggplot2 因为图形约定更容易。我想使用 fill.contour() 的原因是因为
我想做一些图像预处理,但有一个步骤我不确定最好的方法。 我有带有注释的有趣区域的 MRI 图像,我检测轮廓并裁剪图像: 我将在此处发布我的代码,以便您了解我如何完成前面的步骤以及我们拥有的数据 low
我正在尝试找到一种方法来确定轮廓是否闭合, 但我使用的是 findContours 而不是 cvFindContours,所以我没有标志.. 知道怎么做吗? 顺便说一句,我被要求找出轮廓中的循环数,
我正在尝试使用 Contour 检测图像的第二个极值点。 我正在尝试像下面那样做。 我正在寻找图像的所有轮廓。 对等高线 NumPy 数组排序 删除 Numpy 数组中的最后一个元素以去除外部轮廓,以
我最近开始使用 openCV 和 python。我有一个项目,我正在使用 findContours 查找等高线。我得到大约 6-8 个轮廓,我在这些轮廓上循环以获得适合轮廓的边界框。 为此,我使用了
正如标题所示,这是一个非常简单的问题。 我查看了数据库和文件系统,但找不到 Contour 存储已创建表单的位置。 请注意,我指的是无需导出即可获得表单的完整图片。哪里可以“看到”Contour的“数
我正在使用 UmbracoCMS 和 Contour_1.1.12 在创建多步骤表单时,我需要根据用户在上一步中提供的某些字段值动态决定下一步中哪个表单可见。 例如,在轮廓多步表单中,有一个步骤是用户
我的代码在 OpenCV 中运行良好,直到我想找到等高线: findContours(src, contours,hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SI
这是我的第一个问题,感谢您阅读。 我正在尝试计算轮廓内的内部轮廓的数量。 我找到了一个很好的教程,展示了如何使用 h_next 和 v_next http://jmpelletier.com/a-si
谁能告诉我如何使用 POVRay 纹理执行以下操作... //PseudoCode texture { pigment { if(y mod 5 == 0) {
我正在使用 filled.contour绘制等高线图的函数。我想用深色表示最佳值周围的区域,用浅色表示所有其他区域。 library(gplots) a <- expand.grid(1:20, 1:
以下代码不起作用。它应该绘制一个“轮廓”图: var size = 100, x = new Array(size), y = new
基于这个问题,How to plot a function ax^2+bxy+cy^2+d=0 in Python? .我引用了@Michael Szczesny 的回答中的代码: import ma
基于这个问题,How to plot a function ax^2+bxy+cy^2+d=0 in Python? .我引用了@Michael Szczesny 的回答中的代码: import ma
我必须使用 opencv 对整个人体(从脚到头,以举手等多种姿势)进行轮廓检测。我设法编译并运行了在这里找到的代码 https://gist.github.com/yoggy/1470956 , 但它
我是一名优秀的程序员,十分优秀!