代码之家  ›  专栏  ›  技术社区  ›  user391339

python opencv:无图像

  •  2
  • user391339  · 技术社区  · 14 年前

    我正试图从Sony Handcam DCR-HC38中截取,运行下面的代码,并传递[-1..3]至CaptureFromCam功能。代码运行,但我没有图像。我需要把相机“包”起来吗?Skype可以识别摄像头,但python/opencv不能识别。如果有帮助的话,我正在运行Windows Vista。

    import cv
    
    cv.NamedWindow("camera", 1)
    
    capture = cv.CaptureFromCAM(-1)
    
    while True:
        img = cv.QueryFrame(capture)
        cv.ShowImage("camera", img)
        if cv.WaitKey(10) == 27:
            break
    
    2 回复  |  直到 14 年前
        1
  •  3
  •   Owen    14 年前

    尝试增加cv.waitkey上的延迟

        2
  •  2
  •   digiphd    14 年前

    不确定你是否修好了。但我发现的解决方案是通过检查OpenCV试图访问的驱动程序…我有v4l1和v4l2,但是我只能通过使用gstreamer编解码器和使用Ubuntu 10.10的Lenovo X200(内部网络摄像头)上的v4l2驱动程序访问device/dev/video0。因此,我必须从源代码重新编译opencv,首先应用在以下位置找到的补丁:

    Opencv-2.0.0.link.v4l2.patch

    将补丁提取到opencv根目录:然后打开终端和cd到opencv根目录,并执行以下操作:

    patch -p0 <OpenCV-2.0.0-link-v4l2.patch
    

    然后:

    make
    make install
    

    现在,您的opencv库应该访问v4l2驱动程序,希望这能帮助一些人