Python opencv Aruco"没有名为'cv2.aruco'的模块"

Max*_*lin 8 opencv python-import python-3.x aruco

我正在运行一个带有Python 3.6.1,Anaconda 4.4.0(64位)的Ubuntu虚拟机.我想在这个网站上运行代码.当我尝试使用时

import cv2.aruco

我明白了:

>>> import cv2.aruco
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'cv2.aruco'
Run Code Online (Sandbox Code Playgroud)

这是我需要安装或设置的东西吗?

int*_*tor 18

如果cv2.aruco找不到,请尝试安装opencv-contrib-python,例如运行以下命令(对于默认的Python安装):

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

或者对于特定的Python安装(在本例中为Python 3)

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

然后尝试重新运行尝试访问的脚本cv2.aruco.

  • 对于其他读者,仅供参考,aruco模块不在opencv中,而是在opencv_contrib模块中,这就是您需要安装此软件包的原因. (4认同)

Mia*_*mad 13

在我的情况下opencv-pythonopencv-contrib-python当我收到上述错误时都安装了和。

所以我卸载了 opencv-python 使用

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

运行程序,同样的错误。然后我卸载了 opencv-contrib-python

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

之后我重新安装了 opencv-contrib-python 使用

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

并运行程序,现在没有错误。所以我赞成以上两个答案:)


小智 8

如果cv2.aruco找不到,请首先确保opencv-python未安装。

为此,您可以使用:

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

然后安装:

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

我们正在卸载opencv-python,因为安装两个opencv软件包会相互矛盾,并且不会让另一个安装。


Rex*_*rus 5

如果您仍然需要 opencv-python 用于其他应用程序,请执行以下操作(按此顺序,使用 pip 或 pip3):

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

如果颠倒最后两个操作,您仍然会收到错误消息。


Pri*_*shu 5

此版本将修复该问题

pip uninstall python-opencv opencv-contrib-python opencv-python 
pip install --upgrade opencv-contrib-python==3.4.2.17
Run Code Online (Sandbox Code Playgroud)

其他答案没有提到版本,这就是为什么他们无法解决这个问题。cv2.aruco 在新版本中不再存在