问题标签 [opencv-contour]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
12448 浏览

python - 填充轮廓OpenCV的外部

我正在尝试使用 openCV 和 python 语言将轮廓的外部区域涂成黑色。这是我的代码:

0 投票
1 回答
1420 浏览

c++ - 为什么我解决了“Debug Assertion Failed OpenCv is_block_type_valid(header->_block_use)”

我在 OpenCV 中使用 findCountours() 时遇到过这种情况, 调试断言失败 我有很多谷歌但没有任何帮助,以下是我的代码的一部分。

以下是我尝试过的:

  1. 最后添加imshow("img",BinaryImage);,没有任何变化;

  2. 评论此行↓,一切顺利

    findContours(BinaryImage, hand_contours, CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE);

  3. 单步执行代码,一切都很好,直到下面的 '}'

    waitkey(1); }

  4. hand_contours.~vector();在waitkey(1)之前添加(destruct function);Debug Assertion Failed 显示无论它在哪里;

最后,我通过将局部变量“hand_contours”更改为全局变量来解决它。 但我仍然想知道为什么它解决了。感谢阅读:)

忽略它,调试中的图像

0 投票
1 回答
575 浏览

java - OpenCV:轮廓检测 Android contourldx 问题

我能够使用 C++ 检测图像中的轮廓。但是,我想使用 java lang 在 Android 中转换它。所以,我使用android studio制作它。(部分是因为我是 JAVA 新手)

然后我发现了一些问题,当我运行它时,我遇到了这个代码的错误问题:

如果(等高线[contourIdx].size()>100)

在这个主程序中。

希望有人在这方面有一些经验。谢谢..

0 投票
1 回答
1418 浏览

c# - 当轮廓可以被撕裂时,如何检测简单的形状(使用 emgu cv)?

我需要找到图片中最流行的简单形状(通常是矩形)的坐标。我使用了此处描述的方法(查找矩形的简单方法)。但是我遇到了图片中显示的情况。有些盒子的边框撕裂,我无法用标准方法检测到它们。这些矩形用红色圈起来。 物体有撕裂的轮廓你会建议什么解决方案?

更新:

在二值化之前使用膨胀/腐蚀:

  1. 扩张

在二值化之前扩大图像

  1. 侵蚀

在二值化之前腐蚀图像

0 投票
1 回答
401 浏览

opencv - 如何去除图像数字之间不需要的噪声

我正在使用opencv进行光学字符识别项目。我已经在普通数字上成功实现了ocr。但是在实时场景中,我遇到了数字之间不需要的噪音的问题。原始图像

我已经转换为灰度并应用了阈值,然后它就变成了这样

如果我应用轮廓检测​​,那么我也会得到那些黑色块。我怎样才能消除数字之间的块。我对 OCR 没有问题,我只想去除那些不需要的噪音并旋转图像。谢谢。

旋转并从图像中移除黑色斑点后。这是我取得的进展以及如何移除由于阴影而附加到第一个数字的那些块。

我遇到了ocr的问题。第一个和最后两个数字无法正确识别。如何提高ocr的效率。在用那些我在实时样本数字上出错的数字训练系统后,我得到了正确的结果。

最终 ocr 图像:最终 ocr 图像

0 投票
1 回答
7577 浏览

java - 如何在java opencv中找到最大的轮廓

我使用了 find contours 和 boundingrect 并将其显示在我的项目中。然后我想找到最大的轮廓并显示它。这可能吗?我是 OpenCV java lang 的新手。

到目前为止,这是我的代码:

希望有人在这方面有一些经验。谢谢..

0 投票
0 回答
812 浏览

opencv - 在openCV中查找手部轮廓的算法和概念是什么?

由于 openCV 中的 findContour 函数和设置一些参数,我成功地找到了手部轮廓。但我不明白openCV如何在数学上找到手的外轮廓?我知道它可以将点保存在数组中,但是它如何使用手的点来加入它们呢?我的问题显然是关于这个功能和层次设置背后的概念。请注意,在手的情况下,我们不需要找到所有轮廓,因此第一个层次结构实际上会起作用。我真的很感谢你回答这个问题。谢谢你们

0 投票
1 回答
176 浏览

objective-c - 如何从相机中检测形状之间的图像

我一直在网上搜索如何做到这一点,我知道这需要用 OpenCV 来完成。问题是我找到的所有教程和示例都是用于分离形状检测或模板匹配的。

我需要的是一种检测 3 个圆圈(可以是照片或其他东西)之间内容的方法。从我搜索的内容来看,使用轮廓找到相机的圆圈并不难,但是,我如何提取它们之间的内容?圆圈像图像上的图案一样工作,以获取“图案内部”的内容。

我是否需要使用每个圆圈的轮廓并测量它们之间的距离来抓取我的内容?如果是这样,如果图像在相机上有点旋转/扭曲怎么办?

我为此使用 Xamarin.iOS,但从我已经看到的情况来看,我相信我需要为此使用本机,并且也欢迎任何 Objective C 示例。

编辑

想象一下相机拍摄的图像是这样的:

相机拍摄的图像

我想要的是匹配 3 个圆圈并获得图像的以下部分作为结果:

匹配圆圈后的结果

由于图像来自相机,它们可以旋转或放大/缩小。

0 投票
1 回答
323 浏览

python - 检测图像矩阵Python OpenCV中半透明黑色矩形区域的位置

假设我有这样的图像:

在此处输入图像描述

我想要图像矩阵中黑条的起点和终点的位置

我尝试了几种方法,例如Python OpenCV 中的水平线检测,并提出了以下代码,使我突出显示了这些行:

结果: 在此处输入图像描述

如果我尝试print x1, y1, x2, y2我得到

-1000 781 999 782 -1000 712 999 713

所以这些显然不是图像矩阵中的位置点,比如 x 是负数。

这些线的起点和终点在图像矩阵中的位置是什么?我需要对该区域的像素执行一些点操作,因此需要起点和终点。

0 投票
1 回答
2248 浏览

python - OpenCV findContours 不正常

使用OpenCVfindContours方法时,为什么没有按顺序找到轮廓?

输入图像由几个字母组成,例如“abcde”。但是,当轮廓保存到文件时,它们会以随机顺序保存,例如“c”、“e”、“d”、“a”、“b”。这有什么原因吗?

在此处输入图像描述

输出:t、l、h、b、e、r、g、o、e