问题标签 [opencv-contrib]

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

python - ximgproc(opencv-contrib 子模块)安装成功,但我收到 AttributeError

我安装opencv-contrib了它ximgproc作为一个子模块,使用这个:

当我在以下行运行时:

我收到此错误:

如何使用ximgproc函数?

0 投票
1 回答
1519 浏览

opencv - 如何在 Visual Studio 2019 上的 Windows 10 中安装带有 contrib 模块的 OpenCV

我正在尝试在 Windows 10 机器上安装带有 Visual Studio 2019 的 contrib 模块的 OpenCV。

我之前在 Visual Studio 2017 中有一个工作版本,但最近无法让 2019 或 2017 工作。

我一直在使用 CMake 来安装它,在生成之前添加了额外的模块路径。一旦我构建了 ALL_BUILD 和 INSTALL 文件,我就不确定应该在哪里添加库和包含路径,并且我发现教程之间的结果相互冲突,而且似乎都不起作用。

我的代码不包含库,并说它无法打开源文件。

这是我的代码:

错误是:

无法打开源文件“opencv2/core/core.hpp”

我已经查看了以下材料以尝试解决此问题,但是没有最新的指南来包含 contrib 模块,也没有任何工作

0 投票
1 回答
7742 浏览

python - 如何在opencv python中执行缩放和旋转不变模板(特征)匹配和对象检测

我需要用于检测缩放和旋转不变对象的代码。图片中有 8 个笔式驱动器,它们的大小和旋转角度不同。我只能用 matchTemplate() 检测到几个笔式驱动器。我需要使用 SURF、BRIEF 或任何其他可以检测所有 8 个笔式驱动器的算法的代码。我搜索了其他问题,他们只提供想法,但没有 python 代码。

可以使用的包有:

  • opencv-contrib(因为 surf,brief 被移到 contrib 包中)
  • 蟒蛇3

输入图像

模板:

在此处输入图像描述

输出:

在此处输入图像描述

代码 :

编辑:我已将问题更改为比例和旋转不变模板匹配(特征匹配)和对象检测示例:https ://m.youtube.com/watch?v=lcJqinjHb90

我可以使用以下程序检测单个对象,但我需要检测多个对象。

代码:

输出 :

在此处输入图像描述

0 投票
0 回答
169 浏览

python-3.x - 尽管包含在 cmake 中,但仍缺少非免费的 opencv 算法

在我的 python3 脚本中使用 opencv sift 功能给了我:

error: (-213:The function/feature is not implemented) This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function 'create'

但是这个选项被设置并且cmake输出说

Non-free algorithms: YES"

因此我认为标志是正确的。关于 python3 的输出是:

-- Interpreter: /Users/andre/.virtualenvs/dl4cv/bin/python (ver 3.7.6) -- Libraries: /usr/local/opt/python/Frameworks/Python.framework/Versions/3.7/lib/python3.7/config-3.7m-darwin/libpython3.7.dylib (ver 3.7.6) -- numpy: /Users/andre/.virtualenvs/dl4cv/lib/python3.7/site-packages/numpy/core/include (ver 1.18.0) -- packages path: lib/python3.7/site-packages

这对我来说看起来不错。一切都在 virtualenv 中设置并运行,但我无法弄清楚我不能使用 sift。任何人都可以提供一些指导吗?

0 投票
0 回答
247 浏览

opencv - 如何将 OpenCV-contrib 的所有额外模块添加到 OpenCV 库?

我通过提供路径: 在CMake GUI中的OPENCV_EXTRA_MODULES_PATH中基于这些说明构建了带有额外模块的 OpenCV 。C:/opencv/opencv-4.2.0/opencv_contrib-4.2.0/modules

但是,当我想基于此页面使用MultiTracker时,我会遇到此错误:

无法打开包含文件:“samples_utility.hpp”:没有这样的文件或目录

此错误来自此行:

我知道samples_utility.hpp是一个文件opencv_contrib-4.2.0\modules\tracking,但为什么在构建的库中找不到它?我必须从CMake添加它还是应该从头开始构建 OpenCV?

0 投票
1 回答
1678 浏览

c++ - C++ 无法打开源文件“opencv2/tracking.hpp”

我正在尝试使用 OpenCV 多跟踪器,但找不到tracking.hpp. 我已经根据这些说明使用OpenCV-contrib模块构建了 OpenCV 。现在在 Visual Studio 中,我已经这样做了:

在此处输入图像描述

$OPENCV_DIR用户变量在哪里:

在此处输入图像描述

我也有;

  • 将路径添加C:\opencv\opencv4.2.0\opencv-4.2.0\build\install\x64\vc16\libLinker -> Gnereal -> Additional Library Directories.
  • 添加opencv_world420.libLinker -> Input -> Additional Dependencies

现在的问题是opencv.hpp并且tracking.hpp没有被检测到:

在此处输入图像描述

两者都opencv.hpp存在tracking.hppC:\opencv\opencv4.2.0\opencv-4.2.0\build\install\include\opencv2. 我应该怎么做才能让程序识别OpenCV-contrib模块?

0 投票
1 回答
447 浏览

python - OpenCV-contrib/Python/Windows:Tracker.write() 在 matrix_wrap.cpp 中引发错误,Tracker.read() 使 Python 崩溃

我已将此作为问题发布在 GitHub opencv_contrib 上,但尚未收到任何回复。

系统信息(版本)
  • OpenCV => 4.2.0
  • 操作系统/平台 => Windows 10、64 位
  • 编译器 => Visual Studio 16 2019
  • Python => 3.7.6,使用 Anaconda
详细说明

我想在 Windows 上使用 Python 中的 Tracker 类,似乎在 Python 中访问算法参数的唯一方法是向 .yaml 文件写入/读取 Tracker 对象。当我尝试Tracker.write()时,我得到一个 cv2.error。这是我的测试用例:

重现步骤

当我尝试此操作时(Python 3.7.6、OpenCV 4.2.0... 带有预打包的二进制文件,或者从源代码重建时),它失败并显示tracker.write(fs)以下消息:

Traceback (most recent call last): File "<stdin>", line 1, in <module> cv2.error: OpenCV(4.2.0) C:\Users\dick\OpenCV\opencv-4.2.0\modules\core\src\matrix_wrap.cpp:112: error: (-213:The function/feature is not implemented) You should explicitly call mapHost/unmapHost methods for ogl::Buffer object in function 'cv::_InputArray::getMat_'

在稍微不同的测试中,我收到了以下错误消息:

Traceback (most recent call last): File "<stdin>", line 5, in <module> cv2.error: OpenCV(4.2.0) C:\Users\dick\OpenCV\opencv-4.2.0\modules\core\src\matrix_wrap.cpp:130: error: (-213:The function/feature is not implemented) Unknown/unsupported array type in function 'cv::_InputArray::getMat_'

我有一个朋友比我更精通 C++/Linux/Visual Studio,她向我证实这tracker.write()在 Linux 上运行良好,编写一个.yaml文件,使用tracker.read()如下读取它:

当我尝试tracker.read()使用已知良好的.yaml文件时,Python 直接崩溃到命令提示符——根本没有错误消息。我想这是一个密切相关的问题。

我朋友的评估是“据我所知,在 Windows 中,正在创建的 Mat 对象是错误的数据类型(它是否具有额外的维度或错误的类型(即 float 与 int)或者它是一个空的空指针)。”,到目前为止,我已经把她的时间强加给了她足够多的时间。有人可以查看 C++ 代码,看看出了什么问题,也许为什么它可以在 Linux 上运行,而不是在 Windows 上运行?

在四处寻找类似问题时,我认为 #2393 看起来有些熟悉,其中 Mat 类的行为不如预期。

[注:这是我第一次打开问题,我不熟练使用 C++ 或使用 VS(我在重新编译时得到了很多帮助!),我还在学习 Python——我希望 OpenCV 团队会支持像我这样的 Python 最终用户访问跟踪算法参数,即使他们别无选择,只能 Windows。:-) 谢谢。]

0 投票
1 回答
2246 浏览

c++ - OpenCv 预装在 google Colab 中,但我想从 opencv_contrib 添加一个额外的模块。如何做到这一点?

我正在使用 google Colab,对于预安装的 opencv,功能运行良好,但我想使用尚未完全发布但可以使用 opencv-contrib 安装的“BRISQUE”。有一些方法可以遵循,但它们不适用于 google colab。所以不适合我。我实际上希望将 opencv-contrib 中的“质量”模块附加到我的 opencv 中。该模块的链接是https://github.com/opencv/opencv_contrib/tree/master/modules/quality

附上示例程序的屏幕截图,它给出了错误..

在此处输入图像描述

任何帮助,将不胜感激。提前致谢。

0 投票
0 回答
221 浏览

python - 筛选和冲浪的opencv contrib问题

对于以下代码!

我得到这个错误

AttributeError:模块“cv2.cv2”没有属性“xfeatures2d”

当我使用 conda 安装它时:
*已满足要求:c:\users***\anaconda3\lib\site-packages (3.4.2.16) 中的 opencv-contrib-python
已满足要求:c 中的 numpy>=1.14.5 :\users***\anaconda3\lib\site-packages (来自 opencv-contrib-python) (1.18.1)*

但是当我运行时: pip install opencv-contrib-pyt , iget :

错误:找不到满足 opencv-contrib-pyt 要求的版本(来自版本:无) 错误:未找到 opencv-contrib-pyt 的匹配分发

我不明白它是否已经安装,即使我有opencv和opencvcontrib我也不能使用sift

0 投票
1 回答
2345 浏览

python - AttributeError: 'int' 对象没有属性 'read'

opencv-contrib-python在阅读此行时使用,:

我收到一个错误:

我的源代码: