每当使用 import cv2 时,OpenCV 都会出错

乇乂ㄒ*_*丨匚匚 3 python opencv python-3.x

我在终端上安装了带有 pip3 install opencv-contrib-python 的 cv2 并且它可以工作,但是每当我尝试导入 cv2 或运行带有 cv2 导入的 vscode 文件时,它都会在 python IDLE 上说

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/cv2/__init__.py", line 3, in <module>
    from .cv2 import *
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/cv2/cv2.cpython-38-darwin.so, 2): Symbol not found: _inflateValidate
  Referenced from: /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/cv2/.dylibs/libpng16.16.dylib (which was built for Mac OS X 10.13)
  Expected in: /usr/lib/libz.1.dylib
 in /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/cv2/.dylibs/libpng16.16.dylib
Run Code Online (Sandbox Code Playgroud)

在终端。知道如何解决这个问题吗?

shi*_*slm 9

我有同样的问题,我发现这是因为我使用的是高版本的opencv(4.XX),而我的系统版本是低的(mac os 10.12.5)。于是我安装了一个低版本的opencv(3.4.5.20),然后问题就解决了。

可以使用以下命令列出opencv的版本:

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

错误:找不到满足要求的版本 opencv-python==(来自版本:3.4.2.16, 3.4.2.17, 3.4.3.18, 3.4.4.19, 3.4.5.20, 3.4.6.27, 3.4.7.28, 3.4.7.28, 3.4.7.4.28 8.29, 3.4.9.31, 4.0.0.21, 4.0.1.24, 4.1.0.25, 4.1.1.26, 4.1.2.30, 4.2.0.32) 错误:找不到与 opencv-python 匹配的分布==

然后你可以尝试一个较低的版本(例如 3.4.5.20),并使用以下方法安装它:

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

然后您可以重试import cv2以查看问题是否已解决。


小智 1

OpenCV 在 Python 中也称为 cv2。

OpenCV 的安装因操作系统而异,因此下面我提供 Windows、Mac 和 Linux 的说明:

在 Windows 上安装 OpenCV

1.打开命令行并输入:

pip 安装 opencv-python

2.然后打开一个Python会话并尝试:

导入CV2

3.如果没有出现错误,则说明OpenCV已成功安装,可以跳过后续步骤。

4.如果出现错误(通常是DLL加载失败),请从此链接下载预编译的wheel(.whl)文件并使用pip安装。确保下载适合您的 Windows 版本和 Python 版本的正确文件。例如,对于 Windows 64 位上的 Python 3.6,您可以执行以下操作:

pip安装opencv_python3.2.0cp36cp36mwin_amd64.whl

5.然后再次尝试在Python中导入cv2。如果仍然有错误,请在命令行中再次输入以下内容:

pip 安装 opencv-python

6.现在您应该在Python中成功导入cv2。

在 Mac 上安装 OpenCV

目前 Mac OS 上的 Python 3 不支持 OpenCV 的某些功能,因此最好安装 Python 2 的 OpenCV 并使用 Python 2 运行包含 cv2 代码的程序。值得一提的是,Mac 上默认安装了 Python 2,因此无需安装 Python 2。以下是正确安装 OpenCV 的步骤:

  1. 安装酿造:

打开终端并粘贴以下内容:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )" 2. OpenCV 依赖于 GTK+,因此请首先使用 brew 安装该依赖项(始终从终点站):

酿造安装gtk +

  1. 使用brew安装OpenCV:

酿造安装opencv

  1. 输入以下命令打开 Python 2:

Python

  1. 在Python中导入cv2:

导入CV2

如果没有出现任何错误,则说明 OpenCV 已成功安装。

在 Linux 上安装 OpenCV

1.请打开终端并一一执行以下命令:

sudo apt-get install libqt4-dev cmake -D WITH_QT=ON .. make sudo make install 2.如果这不起作用,请执行以下命令:

sudo apt-get install libopencv-* 3.然后使用 pip 安装 OpenCV:

pip 安装 opencv-python

  1. 在Python中导入cv2,如果没有错误,说明OpenCV已经安装成功。