Joh*_*ohn 15 python opencv python-2.7
我在python中使用opencv2代码
import cv2
cv2.namedWindow("output", cv2.WINDOW_NORMAL)
cv2.imshow("output",im)
cv2.resizeWindow('output', 400,400)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
我有错误
QObject::moveToThread: Current thread (0x1d2c9cf0) is not the object's thread (0x1d347b20).
Cannot move to target thread (0x1d2c9cf0)
Run Code Online (Sandbox Code Playgroud)
我调试,发现它发生在我使用时cv2.waitKey(0).我该如何解决?谢谢
更新:我使用的是3.3.0.0.如果我使用旧版本,我有错误
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvDestroyAllWindows, file /io/opencv/modules/highgui/src/window.cpp, line 577
Traceback (most recent call last):
File "tools/demo_handbone.py", line 220, in <module>
demo(net, im_name)
File "tools/demo_handbone.py", line 159, in demo
cv2.destroyAllWindows()
cv2.error: /io/opencv/modules/highgui/src/window.cpp:577: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvDestroyAllWindows
Hil*_*ill 21
我遇到了同样的问题,opencv-python对我来说是版本问题。
我的Linux机器的环境如下:
$ cat /etc/lsb-release
...
DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"
$ date
Tue Aug 11 11:43:16 KST 2020
$ python --version
Python 3.7.8
$ pip list|grep Qt
PyQt5 5.15.0
PyQt5-sip 12.8.0
$ pip list|grep opencv-python
opencv-python 4.3.0.38
Run Code Online (Sandbox Code Playgroud)
我将 opencv-python 4.3.0.38降级到4.3.0.36。
$ pip uninstall opencv-python
$ pip install opencv-python==4.3.0.36
$ pip list|grep opencv-python
opencv-python 4.3.0.36
Run Code Online (Sandbox Code Playgroud)
小智 9
我能够通过安装新的 pyqt 来解决这个问题。
如果你使用的是 anaconda,只需写下:
$ conda 安装 pyqt
首先,卸载您可能已安装的任何版本的OpenCV。如果您使用安装pip:
sudo pip uninstall opencv-python
Run Code Online (Sandbox Code Playgroud)
接下来,尝试使用Linux发行版的软件包管理器安装OpenCV。对于Ubuntu / Debian,这是:
sudo apt-get install libopencv-dev python-opencv
Run Code Online (Sandbox Code Playgroud)
如果您使用 Anaconda 虚拟环境并同时执行conda install pyqt(1) 和 pip install opencv-python. 这会在两个 PyQt 版本(opencv-python自带版本)之间产生冲突并导致错误。
解决方案是通过 安装 PyQt pip,即pip install PyQt5.
(1) 或任何依赖于 的东西pyqt,例如conda install matplotlib。