在python空闲错误中导入openCV:共享对象文件

wil*_*son 3 opencv python-idle raspberry-pi3

我一直在尝试在 python 中使用 cv2 库(在 raspberry pi 3 上的 IDLE 中),但我无法成功导入它。

当我输入 import cv2 时,我得到了这个:

Traceback (most recent call last):
File "/home/pi/Desktop/python/test.py", line 2, in <module>
from .cv2 import *
ImportError: libjasper .so.1: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我已经使用终端来更新、升级和安装 opencv 以及我能找到的与 opencv 或 lib 相关的几乎所有其他东西。我目前可以在终端中导入 cv2 但不能在 IDLE 中导入。我需要做什么才能导入 cv2 库?提前致谢。

sam*_*sam 5

As discussed here, below installations seemed to resolve the issue. It worked for me.

pip3 install opencv-python
sudo apt-get install libatlas-base-dev
sudo apt-get install libjasper-dev
sudo apt-get install libqtgui4
sudo apt-get install python3-pyqt5
sudo apt-get install libqt4-test
Run Code Online (Sandbox Code Playgroud)

Or

the newer OpenCV version handles other installations themselves.

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


小智 5

opencv docs " https://docs.opencv.org/4.2.0/d2/de6/tutorial_py_setup_in_ubuntu.html " for python3给出的在 linux 上安装 opencv 的推荐方法是:

sudo apt install python3-opencv
Run Code Online (Sandbox Code Playgroud)

对于python2:

sudo apt install python-opencv
Run Code Online (Sandbox Code Playgroud)

在 Raspberry pi 上,您可能偶尔需要运行:

sudo apt update --fix-missing
Run Code Online (Sandbox Code Playgroud)

它将自动安装所有依赖项。