问题标签 [opencv3.1]

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 回答
191 浏览

python - Python 中 OpenCV 3.1 中不支持或无法识别的数组类型错误

好的,这里有关于这个的问题,我已经尝试了所有这些问题 - 但没有一个对我有用。

这是代码:

该代码是从有关 HoughCircles 的教程中借来的。每当我尝试运行代码时,我都会收到一条错误消息

不支持或无法识别的数组类型,(您一定已经看到了整个错误)。

我尝试复制 DLL,将图像放在工作目录中,给出图像的路径但没有用。我可以在 Python 和 C/C++ 上运行其他程序,比如对象检测。

任何帮助将不胜感激。
谢谢!

0 投票
3 回答
2147 浏览

python - 霍夫变换未检测到正确的圆

我正在做一个项目,我必须检测交通信号灯(显然是圆圈)。现在,我正在处理从某个地点拾取的示例图像,但是经过我所有的努力,我无法获得检测正确圆圈(光)的代码。

这是代码: -

我要检测圆圈的图像- 图片。 我要检测的圆圈突出显示。

这是输出图像的内容:- 输出图像。

我尝试在霍夫变换中使用高斯模糊半径值和 minDist 参数,但没有取得太大的成功。
谁能指出我正确的方向?

PS- 一些题外话但对我的项目至关重要的问题-
1. 我的电脑大约需要 6-7 秒才能显示最终图像。是我的代码坏了还是我的电脑坏了?我的规格是 - Intel i3 M350 2.6 GHz(第一代)、6GB RAM、Intel HD Graphics 1000 1625 MB。
2. 霍夫变换会直接作用于二值阈值图像吗?
3. 这段代码在 Raspberry Pi 3 上的运行速度是否足够快以达到实时性?(我必须将它安装在移动的自主机器人上。)

谢谢!

0 投票
2 回答
3635 浏览

python - 如何创建不调用任何函数的 Trackbars?OpenCV 3.1 和 Python 2.7

我正在尝试对图像进行阈值处理。我已经使用了cv2.createTrackbar函数 as-
cv2.createTrackbar('High H','image',0,179, None)
现在最后一部分是我遇到的麻烦。在我的代码中,我highH = cv2.getTrackbarPos('High H','image')用来获取我的轨迹栏值并在cv2.inRange函数中使用它。所以很明显,我不需要调用函数作为函数的最后一个参数。现在的问题是我似乎无法输入函数。我尝试删除最后一部分,但出现错误-

cv2.createTrackbar 仅适用于 5 个论点。只给了4个。

嗯,好吧,好像我不能跳过一部分。
接下来我尝试了回调,但什么也没有。我收到了这个错误:-

无使用时:- NameError:未定义名称“无”
使用回调时:- NameError:未定义名称“回调”

好的,过了一会儿我尝试使用无。得到这个错误:-

TypeError:on_change 必须是可调用的

那么如何在cv2.createTrackbar不调用函数的情况下使用函数呢?

谢谢!

0 投票
1 回答
688 浏览

c++ - VisualStudio 2010 - Dll 错误:__vcrt_cleanup_type_info_names

我在 Windows 64 位中使用 OpenCV 3.1 和 Visual Studio 2010。我最近通过 Cmake 重建了 OpenCV,当我尝试编译时出现下一个错误:

No se encuentra el punto de entrada del procedimiento __vcrt_cleanup_type_info_names en la biblioteca de vínculos dinámicos VCRUNTIME140D.dll

我在用

  • opencv_world310d.dll
  • opencv_ffmpeg310_64.dll

我用OpenCV 3.0的正式版编译相同的代码时没有这个问题。对此有什么想法吗?

提前致谢。

0 投票
0 回答
1247 浏览

python - 问题:使用 OpenCV + Python 在视频中进行汽车检测的功能包训练 SIFT 或 SURF

我正在尝试使用 SIFT 或 SURF 转储汽车的关键点,并将这些关键点与视频匹配以检测汽车。使用关键点而不是 Haar Cascades 更方便,因为我必须使用很多图像,例如 5000 来训练,这将需要大量的计算过程。来自 SURF 或 SIFT 的关键点是尺度不变的,在每辆车中几乎相同。

将关键点转储到 txt 文件的代码是:

之后我不知道如何匹配我用我拥有的视频生成的 txt 文件中的这些关键点,有许多特征匹配算法作为蛮力和 KNN 匹配器,还有分类器作为 SVM 分类器,将在我阅读时使用在许多论文中

我尝试在此图像原始图像上提取其关键关键点点,txt 文件中提取的关键点位于此 [GitHub][3] 链接中,其中包含我需要检测汽车的代码和视频。

知道如何将这辆车的关键点与视频('traffic.avi')中的汽车相匹配。

我想使用 Bag of Visual Words Method 检测汽车,尝试这样做但不知道如何进行编码

注意:我使用的是 OpenCV 3.1 和 Python 2.7.x

0 投票
0 回答
3208 浏览

opencv - 使用 Visual Studio 2015 在 Windows 10 上为 OpenCV 3.1 构建 x64 库

我已经从 OpenCV 网站下载了 OpenCV 3.1,并且正在尝试构建静态 x64 库。我正在按照此处概述的程序进行操作,

http://docs.opencv.org/3.1.0/d3/d52/tutorial_windows_install.html#gsc.tab=0

我正在使用 CMake 3.5 为 VStudio 生成 SLN/Project 文件。我编译 32 位静态库没有任何问题,这是 CMake 生成的默认解决方案配置。但是,当我尝试将配置管理器中的构建目标更改为“x64”时,我得到了多个链接错误并且几乎没有编译。

我是否缺少 CMake 中的一些配置选项来生成正确的项目文件?如果有人对此过程有任何经验,我将不胜感激!

干杯

0 投票
0 回答
198 浏览

c++ - 连接组件骨架

我正在使用 C++ 上的 OpenCV 3.1.0 从数字骨架中提取特征。我正在寻找一种方法,它可以为我提供骨架图像中闭合轮廓的数量(例如 2 表示 8,1 表示 0、6、9,0 表示 1、2、3、4、5、7)。我使用了connectedComponents()具有 8 路连接的 OpenCV 方法,但它没有给我希望的结果。我在所有图像中总是得到 2 个连接的组件。问题是形状的内部和外部是 8 路连接的,因此它们被视为一个组件。

这张图片将解释主要问题:

有没有获得这些功能的解决方案?

0 投票
2 回答
1302 浏览

machine-learning - 如何使用 OpenCV RTrees 进行二元分类?

RTrees API 似乎在不同版本之间发生了变化。RTrees 2.4.1 文档说它同时支持回归和分类,尽管我不明白如何做到这一点。

我想在 OpenCV 3.1 中使用 RTrees 作为二元分类器,尽管文档没有说明它并且 RTrees::isClassifier() 返回 false。

编辑:我做了更多的工作并查看了 OpenCV 源代码。 RTrees创建扩展类的DTReesImplForRTrees对象的隐藏实现。DTreesImpl此类管理_isClassifier成员变量并根据给定的 TrainData 的响应类型对其进行设置train()

来自 OpenCV 源代码中的 tree.cpp

目前,我没有看到任何配置 TrainData 对象以返回它的方法。也许是因为我的培训课程存储为浮点数而不是整数?如果我没记错的话,数据类型必须是 CV_32F,但也许我在某个地方出错了。

0 投票
1 回答
238 浏览

c++ - 将值像素与 int 进行比较

我有一个Mat Dist( CV_8U) 由 完成distanceTransform

现在我必须检查Distis的每个坐标> 0并修改另一个的值Mat M = Mat :: zeros

代码是

但我错误 cv :: 异常。

我查看了文档和其他地方,我试图从 uchar 更改为 vec3b 。我在 Visual Studio 2015 中修改了异常,但没有。我哪里错了?

0 投票
0 回答
548 浏览

c++ - opencv 3.1 cuda 7.5 构建丢弃错误。LNK2019。链接器在 VS 2013 中是好的

这不是我第一次openCV构建只是为了知道 :) 现在,我cMake用贡献lib.-sCUDA 7.5. 我构建了 64 位,而我的编译器是VS 12 2013 x64(如果不是 64 位编译,则无法使用的读取CUDA lib.-s。)。

现在我像以前一样做了,就像许多教程一样,我无法构建我的opencv_videoio300.dll. 我有库,但没有别的。

这是整个INSTALL构建中唯一的错误。无法弄清楚是什么问题。有什么建议吗?

在 32 位上,openCV二进制文件的一切都很完美,lib.-s但在 32 位上,我无法编译opencv_cudaarithm300.dll、 copencv_cudawarping300.dllopencv_cudalegacy300.dll;

现在我处于一种情况,我需要使用OpenCV 3.1和 进行正常构建CUDA 7.5,而且我不在乎它的 32 位或 64 位“。我现在很绝望