opencv(py) QObject moveToThread Current thread is not the object's thread. Canno

1,012 阅读2分钟
  •        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具有开源、跨平台、解释型、交互式等特性,值得学习。
Python的设计哲学:优雅,明确,简单。提倡用一种方法,最好是只有一种方法来做一件事。
代码的书写要遵守规范,这样有助于沟通和理解。
每种语言都有独特的思想,初学者需要转变思维、踏实践行、坚持积累。