Python OpenCV 错误:当前线程不是对象的线程

新手上路,请多包涵

我在使用 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 许可协议

阅读 693
1 个回答

如前所述,这个问题的基础在 opencv-python 问题 46 中进行了讨论,并且是由于以下库在主机和 opencv-python 发行版 libQtDBus libQtCorelibQtGui 上的重复造成的。

最近在最新版本的 opencv-python 中解决了这个问题。它不是对源代码的修复,而是强制 pip 通过以下方式编译新可用的源代码

pip install --no-binary opencv-python opencv-python

这样会导致opencv-python使用与宿主相同的库,所以冲突不再存在。

原文由 waTeim 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏