2011-02-28 92 views
1

編輯:Array should be CvMat or IplImage不是特定於此問題的錯誤消息,這是我得到的唯一最相關的錯誤消息。OpenCV/Array應該是CvMat或IplImage /釋放捕獲對象


我試圖使用opencv從應用程序中* * .exe。

我正在使用Python 2.6openCV 2.1

我可以運行* .exe的一部分,我有一個菜單,我可以從中選擇處理來自2個不同來源的圖片我的攝像頭&靜態圖像。靜態圖像部分的工作,但是當我在這裏艇員選拔攝像頭是輸出:

OpenCV Error: Bad argument (Array should be CvMat or IplImage) in unknown function, file ..\..\..\..\ocv\opencv\src\cxcore\cxarray.cpp, 
line 1233 
Traceback (most recent call last): 
    File "_ctypes/callbacks.c", line 295, in 'calling callback function' 
    File "game_ar\build\pyi.win32\game_ar\outPYZ1.pyz/pyglet.window.win32", line 849, in _wnd_proc 
    File "game_ar\build\pyi.win32\game_ar\outPYZ1.pyz/pyglet.window.win32", line 918, in _event_key 
    File "game_ar\build\pyi.win32\game_ar\outPYZ1.pyz/pyglet.window", line 1219, in dispatch_event 
    File "game_ar\build\pyi.win32\game_ar\outPYZ1.pyz/pyglet.event", line 340, in dispatch_event 
    File "", line 502, in on_key_press 
    File "", line 461, in dostart 
    File "", line 482, in getpoints 
    File "D:\Prog\Python\AugmentedR\src\pyar.py", line 40, in get_points 
    pilimage = Image.fromstring("RGB", cv.GetSize(image), image.tostring()) 
cv.error: Array should be CvMat or IplImage 
Traceback (most recent call last): 
    File "", line 616, in 
    File "game_ar\build\pyi.win32\game_ar\outPYZ1.pyz/pyglet.app", line 264, in run 
    File "game_ar\build\pyi.win32\game_ar\outPYZ1.pyz/pyglet.app.win32", line 63, in run 
    File "game_ar\build\pyi.win32\game_ar\outPYZ1.pyz/pyglet.app.win32", line 84, in _timer_func 
    File "game_ar\build\pyi.win32\game_ar\outPYZ1.pyz/pyglet.app", line 193, in idle 
    File "game_ar\build\pyi.win32\game_ar\outPYZ1.pyz/pyglet.window", line 1219, in dispatch_event 
    File "game_ar\build\pyi.win32\game_ar\outPYZ1.pyz/pyglet.event", line 340, in dispatch_event 
    File "", line 546, in on_draw 
AttributeError: Game instance has no attribute 'bg' 

pyar.py文件。

建設有py2exe的* .EXE給了我這樣的輸出:

 
The following modules appear to be missing 
['ICCProfile', '_imaging_gif', '_scproxy'] 

我不明白,這正與我的消息來源。我試圖用py2exe & pyinstaller打包我的應用程序,但輸出是相同的。

我猜* .exe是缺少的東西,但我不知道如何調試它。

回答

4

這與包裝商無關。

問題是我沒有關閉攝像頭捕捉,我的應用程序的幾個進程實際上是在後臺運行。

doc在談論ReleaseCapture不過這個功能顯然不是在Python綁定,調用:

del(self.cam)

做的工作剛剛好,self.cam是我CvCapture對象。