2010-07-14 140 views
2

我想捕捉索尼Handicam DCR-HC38,運行下面的代碼,並傳遞[-1 .. 3]到CaptureFromCAM功能。代碼運行,但我沒有形象。我是否需要以某種方式「包裝」相機? Skype識別相機,但python/opencv不會。如果有幫助,我正在運行Windows Vista。蟒蛇opencv:沒有圖像

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 
+0

img = cv.QueryFrame(捕獲) 需要進行測試,如果img實際上有一個值或無。 – Photodeus 2011-05-07 18:34:10

回答

3

試穿cv.WaitKey

2

不知道你是否固定或不增加延遲。但我想通過檢查哪個驅動程序OpenCv試圖訪問的解決方案...我有v4l1和v4l2,但我只能訪問設備/ dev/video0使用gstreamer編解碼器和v4l2驅動程序在我的聯想x200(內部攝像頭)使用Ubuntu 10.10。因此,我不得不從源代碼重新編譯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驅動代替,希望這有助於一些一個