【问题标题】:Python opencv not receiving camera feedPython opencv没有接收到摄像头馈送
【发布时间】:2011-11-18 07:33:24
【问题描述】:

我一直在尝试使用 SimpleCV (www.simplecv.org) 模块来运行图像识别和处理。不幸的是,我收到的视频内容非常挑剔,我不确定我做错了什么。只是使用一些基本的示例代码:

import cvwindow = cv.NamedWindow("camera", 1)
capture = cv.CreateCameraCapture(0)
width = int(cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_WIDTH)) 
height = int(cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_HEIGHT))

while 1:
    img = cv.QueryFrame(capture)
    cv.ShowImage("camera", img)
    k = cv.WaitKey(1)
    if(k == 102):
        cv.destroyWindow("camera")
        break

当我插入我的 Logitech Webcam 500 时效果很好。但是,当我尝试使用我的 Vimicro Altair 相机时,我得到一个灰屏,当保存到文件时,文件是空的。

我还尝试使用 SimpleCV 代码,基于他们的 cookbook 沿线:

mycam = Camera()
img = mycam.getImage()

同样不成功,但是没有返回任何数据,而是简单地返回了一个完全黑色的图像。

我完全不知道造成这种情况的原因,我在笔记本电脑上尝试了完全相同的系统,甚至无法从罗技摄像头获取图像。我正在运行带有 Python 2.7 和 SimpleCV 1.1 的 Windows 7 64 位。

谢谢

【问题讨论】:

    标签: python opencv camera simplecv


    【解决方案1】:

    我是 SimpleCV 开发人员之一。看来您正在尝试使用标准的 python openCV 包装器。

    我建议做的只是在这里运行示例: https://github.com/sightmachine/SimpleCV/blob/develop/SimpleCV/examples/display/simplecam.py

    或者这里也是代码:

    import time, webbrowser
    from SimpleCV import *
    
    #create JPEG streamers
    js = JpegStreamer(8080)
    cam = Camera()
    
    cam.getImage().save(js)
    webbrowser.open("http://localhost:8080", 2)
    
    while (1):
      i = cam.getImage()
      i.save(js)
      time.sleep(0.01) #yield to the webserver
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-03
      • 2014-03-27
      • 2015-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-07
      相关资源
      最近更新 更多