【问题标题】:OpenCV GUI issue in PythonPython中的OpenCV GUI问题
【发布时间】:2018-08-08 12:42:23
【问题描述】:

我正在尝试在 Ubuntu 上使用 openCV 显示网络摄像头,但出现以下错误:

错误:BadDrawable(无效的像素图或窗口参数)9主要操作码: 62 (X_CopyArea)资源id: 0x3800056]

这是我的完整代码

import cv2

cap = cv2.VideoCapture(1)
cap.set(3,320)
cap.set(4,240)
while(1):
    _, frame = cap.read()
    cv2.imshow('frame',frame)

    k = cv2.waitKey(5) & 0xFF
    if k == 27:
        break

cap.release()

cv2.destroyAllWindows()

我尝试用谷歌搜索错误,它似乎与 GUI 相关。 我还阅读了 imshow 上的文档,我似乎认为它很好,任何人都可以弄清楚我为什么会收到这个错误。

谢谢

【问题讨论】:

  • 帧是非空的,它实际上是否包含图像?
  • 我可以在 raspbian 上运行它,它工作正常。并且相机灯打开,所以我假设它不为空,我该如何检查?
  • 尝试调试它。你有2个摄像头吗?如果我没记错的话,默认摄像头是 0 号,因此您可能需要cv2.VideoCapture(0)
  • 我在硬件阵列的不同点尝试了 2 个不同的摄像头。 0、1 和网络摄像头通过其他应用程序(即奶酪)工作
  • 如果您尝试文档中的示例会怎样? docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/…

标签: python opencv ubuntu


【解决方案1】:

当 Python 尝试显示窗口时,它看起来像 problem。应该是操作系统问题。尝试编辑/etc/environment

sudo nano /etc/environment

添加这一行:

QT_X11_NO_MITSHM=1

如果前面提到的没有帮助,也可以尝试以sudo 运行您的应用并检查this 是否有任何解决方案。

【讨论】:

  • 谢谢!!这解决了问题。
  • 很高兴为您提供帮助 :) 如果它解决了您的问题,请接受答案。
猜你喜欢
  • 2021-01-02
  • 2021-05-12
  • 1970-01-01
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
  • 2011-12-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多