2012-06-25 30 views
0

我想實現下面的代碼:opencv的munmap錯誤

#coding=utf8 

from opencv.cv import * 
from opencv.highgui import * 

# Avame kaamera 
capture = cvCreateCameraCapture(0) 

while True: 
    frame = cvQueryFrame(capture) 
    cvShowImage("Aken", frame) 
    char = cvWaitKey(33) 

,但我得到了某種則munmap錯誤的。任何人都可以指出我的編碼中可能出現的問題的方向嗎?

MMAP:無效的參數 munmap:無效的參數 munmap:無效的參數 munmap:無效的參數 munmap:無效的參數 無法停止流:壞的文件描述符 munmap:無效的參數 munmap:無效參數 munmap:無效的參數 munmap:無效的參數

(阿肯:2782):GTK的WARNING **:無法定位module_path中主題引擎: 「像素圖」,

(阿肯:2782):GTK的WARNING **:無法找到主題引擎在module_path中: 「像素圖」,

(阿肯:2782):GTK的WARNING **:無法找到主題引擎在module_path中: 「像素圖」,

(阿肯:2782):GTK的WARNING **:無法找到主題引擎在module_path中: 「像素圖」,

+0

記得讓GTK的警告與錯誤。你可以找到一個解決方案[這裏](http://askubuntu.com/questions/66356/gdk-gtk-warnings-and-errors-from-the-command-line)([direct link](https:// apps .ubuntu.com/CAT /應用/ GTK2-引擎-的pixbuf))。如果這不能解決它(我想它不會),那麼請告訴我你使用的是什麼版本的OpenCV。你可以使用新的C++類型綁定(即'import cv2')嗎? – KobeJohn

回答

0

你可以試試這個代碼,所以你的新接口不必擔心發佈和其他可能的細節?我假設你有足夠新的版本來使用cv2。下面的代碼是從another SO answer I made

import cv2 

capture = cv2.VideoCapture() 
cv2.namedWindow("Aken",1) 
capture.open(0) 
while True: 
    frame = capture.read()[1] 
    cv2.imshow("Aken", frame) 
    if cv2.waitKey(30) == 27: break #`escape` key to stop capture 
cv2.destroyWindow("Aken") 
0

捕獲過程可能失敗,所以這是一個很好的做法,檢查調用的返回:

capture = cvCreateCameraCapture(0) 
if not capture : 
    print "Error loading camera" 
    # Should exit the application