导入opencv时出现“原因:找不到图像”

Jas*_*sch 0 importerror python-3.x opencv3.0 cv2 python-3.7

每当我用来检查 opencv 包是否正确安装在 python3 上时,我都会收到此错误。我收到有关安装过程中粘贴的 .so 文件的错误。

python3
Python 3.7.3 (default, Mar 27 2019, 09:23:39) 
[Clang 10.0.0 (clang-1000.11.45.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/site-packages/cv2/__init__.py", line 89, in <module>
    bootstrap()
  File "/usr/local/lib/python3.7/site-packages/cv2/__init__.py", line 79, in bootstrap
    import cv2
ImportError: dlopen(/usr/local/lib/python3.7/site-packages/cv2/python-3.7/cv2.cpython-37m-darwin.so, 2): Library not loaded: /usr/local/opt/ilmbase/lib/libImath-2_2.23.dylib
  Referenced from: /usr/local/Cellar/opencv/4.0.1/lib/libopencv_imgcodecs.4.0.dylib
  Reason: image not found
>>>
Run Code Online (Sandbox Code Playgroud)

Gin*_*pin 6

我猜测您使用 Homebrew 安装了 Python3 和 OpenCV,因为“ Cellar ”位于错误消息的路径上:

ImportError: dlopen(/usr/local/lib/python3.7/site-packages/cv2/python-3.7/cv2.cpython-37m-darwin.so, 2): Library not loaded: /usr/local/opt/ilmbase/lib/libImath-2_2.23.dylib
  Referenced from: /usr/local/Cellar/opencv/4.0.1/lib/libopencv_imgcodecs.4.0.dylib
Run Code Online (Sandbox Code Playgroud)

我认为您正在使用以下版本python3

/usr/local/lib/python3.7/site-packages
Run Code Online (Sandbox Code Playgroud)

但发生了以下情况之一:

  1. 您安装在opencv-python其他地方(例如使用不同的pythonpip二进制文件)
  2. 您错误地安装或手动修改了您的 OpenCV 安装(您提到“关于我在安装过程中粘贴的 .so 文件”,也许某些符号链接没有正确更新)

尝试使用该特定版本重新安装python3

$ which python3
/usr/local/bin/python3

$ /usr/local/bin/python3 -m pip install --force-reinstall opencv-python 
Run Code Online (Sandbox Code Playgroud)