雖然試圖用opencv做實時平面對象跟蹤,但我遇到了pyopencv的「查找對象」演示。這個腳本做了我想要的,但它將一個靜態圖像與另一個靜態圖像進行比較,然而我試圖將靜態圖像與從網絡攝像頭抓取的當前幀進行比較。爲此我換成這行while循環在opencv導致錯誤
scene_filename = "box_in_scene.png"
與此
capture = cv.VideoCapture(0)
frame = Mat()
capture >> frame
imwrite("box_in_scene.png",frame)
這工作,因爲它應該,但是當我再嘗試添加一個簡單的循環,使之不斷地做到這一點,它會通過一個週期然後停止。當我退出腳本時,出現以下錯誤:
OpenCV Error: Bad flag (parameter or structure field) (Unrecognized or unsupport
ed array type) in cvGetMat, file M:\programming\packages\opencv\workspace\2.1\Op
enCV-2.1.0\src\cxcore\cxarray.cpp, line 2476
Traceback (most recent call last):
File "find_obj.py", line 114, in <module>
imageDescriptors = surf(image, mask, imageKeypoints)
RuntimeError: M:\programming\packages\opencv\workspace\2.1\OpenCV-2.1.0\src\cxco
re\cxarray.cpp:2476: error: (-206) Unrecognized or unsupported array type in fun
ction cvGetMat
任何人都有線索可能導致這種情況?
我使用的循環是
myloop = 1
while myloop == 1 :
這link是在它的全部代碼。
請問您可以添加while循環的問題?只是爲了看看可能發生了什麼變化 – 2012-01-09 19:47:13
你可以發佈循環代碼的開頭,在那裏捕獲框架並嘗試循環它 – SB26 2012-01-09 21:57:02
你的例子根本無法理解。請重新編寫它,在整個循環中添加相關代碼,並在循環之前添加相關代碼。 – Sam 2012-01-10 06:54:16