我在使用 cv2 模块运行简单代码时遇到错误。
只是:
import cv2
img = cv2.imread('sudoku.png',0)
cv2.imshow('image',img)
它失败并出现以下错误:
QObject::moveToThread: Current thread (0x1b74720) is not the object's thread (0x1e57d70).
Cannot move to target thread (0x1b74720)
我用谷歌搜索了这个错误并尝试了很多东西但它没有帮助。我尝试在没有 pip 的情况下安装,我尝试使用分步安装(来自官方 OpenCV)但没有任何帮助。
当我跑步时:
cv2.__version__
它返回 3.4.3
原文由 Desiigner 发布,翻译遵循 CC BY-SA 4.0 许可协议
如前所述,这个问题的基础在 opencv-python 问题 46 中进行了讨论,并且是由于以下库在主机和 opencv-python 发行版 libQtDBus libQtCore 和 libQtGui 上的重复造成的。
最近在最新版本的 opencv-python 中解决了这个问题。它不是对源代码的修复,而是强制 pip 通过以下方式编译新可用的源代码
这样会导致opencv-python使用与宿主相同的库,所以冲突不再存在。