模块“cv2.cv2”没有属性“ximgproc”

Gui*_*lem 21 python opencv opencv-contrib

我正在尝试使用 OpenCV 对图像执行选择性搜索,但是当我运行我的代码时,我得到了这个:

>>> import cv2
>>> ss = cv2.ximgproc.segmentation.createSelectiveSearchSegmentation()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'cv2.cv2' has no attribute 'ximgproc'
Run Code Online (Sandbox Code Playgroud)

我见过类似的问题,但人们解决了他们安装opencv-contrib-python包。我已经安装了这个模块,但问题仍然存在。

这是我的需求文件:

opencv-contrib-python==4.1.0.25
opencv-python==4.1.0.25
Run Code Online (Sandbox Code Playgroud)

我正在使用带有 python 3.7 的 conda 环境

Gui*_*lem 30

如 OpenCV pypi 网页中所述:

  1. 如果您安装了以前版本的 OpenCV,请安装将其删除以避免冲突。
  2. 有 4 个不同的opencv包:opencv-pythonopencv-contrib-pythonopencv-python-headlessopencv-contrib-python-headless
  3. 您只能安装一个。多个 opencv 包不兼容。

在问我的问题时,我有 2 个 opencv 包。因此我首先删除了两个现有的包:

$ pip uninstall opencv-contrib-python opencv-python
Run Code Online (Sandbox Code Playgroud)

然后,我只安装了一个包:

$ pip install opencv-contrib-python
Run Code Online (Sandbox Code Playgroud)

最后,安装成功了。


Adi*_*rya 8

如果您安装了 pip,这应该可以解决问题。我发现 pip 安装程序总体上比 conda 安装程序更好。

pip install opencv-contrib-python
Run Code Online (Sandbox Code Playgroud)