- Python : 3.8.11
- opencv-python : 4.1.2.30
- opencv-contrib-python : 4.1.2.30
- OS : Ubuntu Kylin 20.04
- Conda : 4.10.1
- Pycharm : 2021.1.3
故障环境配置说明
opencv-python的版本是4.5.4.58。
在运行下面的代码时,
import cv2
image_path = "opencv-image.png"
image = cv2.imread(image_path,cv2.IMREAD_UNCHANGED)
cv2.imshow('image',image)
cv2.waitKey(delay=0)
cv2.destroyAllWindows()
出现报错大量信息
/home/coder/anaconda3/bin/python3.8 /home/coder/PycharmProjects/pythonProject2/main.py
QObject::moveToThread: Current thread (0x5558894a7410) is not the object's thread (0x55588955e2c0).
Cannot move to target thread (0x5558894a7410)
QObject::moveToThread: Current thread (0x5558894a7410) is not the object's thread (0x55588955e2c0).
Cannot move to target thread (0x5558894a7410)
QObject::moveToThread: Current thread (0x5558894a7410) is not the object's thread (0x55588955e2c0).
Cannot move to target thread (0x5558894a7410)
QObject::moveToThread: Current thread (0x5558894a7410) is not the object's thread (0x55588955e2c0).
Cannot move to target thread (0x5558894a7410)
Process finished with exit code 137 (interrupted by signal 9: SIGKILL)
解决办法-对opencv进行降级
- 卸载现有的opencv
pip uninstall opencv-python
Found existing installation: opencv-python 4.5.4.58
Uninstalling opencv-python-4.5.4.58:
Would remove:
/home/coder/anaconda3/lib/python3.8/site-packages/cv2/*
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python-4.5.4.58.dist-info/*
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libQt5Core-39545cc7.so.5.15.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libQt5Gui-ba0a2070.so.5.15.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libQt5Test-c38a5234.so.5.15.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libQt5Widgets-e69d94fb.so.5.15.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libQt5XcbQpa-ca221f44.so.5.15.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libX11-xcb-69166bdf.so.1.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libXau-00ec42fe.so.6.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libavcodec-64ac49e1.so.58.91.100
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libavformat-4b79e479.so.58.45.100
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libavutil-805734e8.so.56.51.100
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libbz2-a273e504.so.1.0.6
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libcrypto-018b8c17.so.1.1
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libfreetype-c0e61f0c.so.6.14.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libgfortran-91cc3cb1.so.3.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libopenblas-r0-f650aae0.3.3.so
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libpng15-ce838cd1.so.15.13.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libquadmath-96973f99.so.0.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libssl-6082116c.so.1.1
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libswresample-83ce3247.so.3.7.100
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libswscale-7e960168.so.5.7.100
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libvpx-392cd848.so.6.4.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libxcb-icccm-413c9f41.so.4.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libxcb-image-e82a276d.so.0.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libxcb-keysyms-21015570.so.1.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libxcb-randr-a96a5a87.so.0.1.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libxcb-render-637b984a.so.0.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libxcb-render-util-43ce00f5.so.0.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libxcb-shape-25c2b258.so.0.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libxcb-shm-7a199f70.so.0.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libxcb-sync-89374f40.so.1.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libxcb-util-4d666913.so.1.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libxcb-xfixes-9be3ba6f.so.0.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libxcb-xinerama-ae147f87.so.0.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libxcb-xkb-9ba31ab3.so.1.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libxkbcommon-71ae2972.so.0.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libxkbcommon-x11-c65ed502.so.0.0.0
/home/coder/anaconda3/lib/python3.8/site-packages/opencv_python.libs/libz-745e0a09.so.1.2.7
Proceed (y/n)? y
Successfully uninstalled opencv-python-4.5.4.58
- 安装指定低版本的opencv
pip install opencv-python==4.1.2.30 -i https://pypi.tuna.tsinghua.edu.cn/simple
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting opencv-python==4.1.2.30
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/9c/6f/220c45977e6f85cbe63cd978c5cb774aa7c71ef9fb52b45f69c2611af010/opencv_python-4.1.2.30-cp38-cp38-manylinux1_x86_64.whl (28.3 MB)
Requirement already satisfied: numpy>=1.17.3 in /home/coder/anaconda3/lib/python3.8/site-packages (from opencv-python==4.1.2.30) (1.20.1)
Installing collected packages: opencv-python
Successfully installed opencv-python-4.1.2.30
再次运行代码,正常,无报错。
参考链接
学习推荐
- Python文档 - English
- Python文档 - 中文
- Python规范 PEP
- Python规范 google版
- opencv
- opencv 帮助手册
- Python 源码
- Python PEP
- 优麒麟
- 掘金平台
- gitee平台
Python具有开源、跨平台、解释型、交互式等特性,值得学习。
Python的设计哲学:优雅,明确,简单。提倡用一种方法,最好是只有一种方法来做一件事。
代码的书写要遵守规范,这样有助于沟通和理解。
每种语言都有独特的思想,初学者需要转变思维、踏实践行、坚持积累。