问题标签 [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.
python - Python 中 OpenCV 3.1 中不支持或无法识别的数组类型错误
好的,这里有关于这个的问题,我已经尝试了所有这些问题 - 但没有一个对我有用。
这是代码:
该代码是从有关 HoughCircles 的教程中借来的。每当我尝试运行代码时,我都会收到一条错误消息
不支持或无法识别的数组类型,(您一定已经看到了整个错误)。
我尝试复制 DLL,将图像放在工作目录中,给出图像的路径但没有用。我可以在 Python 和 C/C++ 上运行其他程序,比如对象检测。
任何帮助将不胜感激。
谢谢!
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 上的运行速度是否足够快以达到实时性?(我必须将它安装在移动的自主机器人上。)
谢谢!
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
不调用函数的情况下使用函数呢?
谢谢!
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的正式版编译相同的代码时没有这个问题。对此有什么想法吗?
提前致谢。
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
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 中的一些配置选项来生成正确的项目文件?如果有人对此过程有任何经验,我将不胜感激!
干杯
c++ - 连接组件骨架
我正在使用 C++ 上的 OpenCV 3.1.0 从数字骨架中提取特征。我正在寻找一种方法,它可以为我提供骨架图像中闭合轮廓的数量(例如 2 表示 8,1 表示 0、6、9,0 表示 1、2、3、4、5、7)。我使用了connectedComponents()
具有 8 路连接的 OpenCV 方法,但它没有给我希望的结果。我在所有图像中总是得到 2 个连接的组件。问题是形状的内部和外部是 8 路连接的,因此它们被视为一个组件。
这张图片将解释主要问题:
有没有获得这些功能的解决方案?
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,但也许我在某个地方出错了。
c++ - 将值像素与 int 进行比较
我有一个Mat Dist
( CV_8U
) 由 完成distanceTransform
。
现在我必须检查Dist
is的每个坐标> 0
并修改另一个的值Mat M = Mat :: zeros
代码是
但我错误 cv :: 异常。
我查看了文档和其他地方,我试图从 uchar 更改为 vec3b 。我在 Visual Studio 2015 中修改了异常,但没有。我哪里错了?
c++ - opencv 3.1 cuda 7.5 构建丢弃错误。LNK2019。链接器在 VS 2013 中是好的
这不是我第一次openCV
构建只是为了知道 :) 现在,我cMake
用贡献lib.-s
和CUDA 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.dll
和opencv_cudalegacy300.dll
;
现在我处于一种情况,我需要使用OpenCV 3.1
和 进行正常构建CUDA 7.5
,而且我不在乎它的 32 位或 64 位“。我现在很绝望