繁体   English   中英

cv2.imshow() 函数重启 python shell 而不显示任何错误程序停止

[英]cv2.imshow() function restart python shell without showing any error program stops

我写了简单的python代码

    import cv2
    cam = cv2.VideoCapture(0)
    try: 
      for i in range(10):
         print i
         _,f=cam.read()
         cv2.imshow('f',f)
         k=cv2.waitKey(1)

    catch:
      print 'error'

此代码仅显示 0 并退出进一步工作 python shell 重新启动我正在使用带有 python 2.7.9 和 Opencv 2.4.9.1 的 Respberry PI

当我删除 cv2.imshow() 行时,代码工作正常。 它打印 0 到 9 的所有数字。 这意味着 cam 已连接,opencv 甚至可以从相机读取图像,但问题在于显示图像

有没有人以前发现过类似的问题或有任何解决方案? 请分享谢谢

你的问题不是cv2.imshow() 你的问题是cam = cv2.VideoCapture(0). opencv 在树莓派中找到摄像头有问题! imshow()确实有效,通常会给您带来问题。 老实说,我很惊讶你的 try/catch 工作,这不是你在 python 中编写 try/catch 的方式,正确的方法是:

try:
    peace of the code that might throw an exception
except Exception, e:
        print e

注意:在我更改 try/catch 之前,您的代码对我不起作用!

现在回到问题,因为图像无法显示它会告诉你你的图像长度/宽度是 0。解决这个问题有点长,但是有人已经在这里创建了一个工作代码

注意:您需要使用picamera才能使用 raspbery pi 相机!

opencv 并不以处理相机为荣,其他软件包则如此。

注意:在 rasbery pi 中,您需要在打印之前添加 (),例如print (i)有时它会给您带来错误

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM