2013-01-17 60 views
1

我再次嘗試做的更好,我的問題(http://stackoverflow.com/questions/14349550/convert-image-in-a-binary二進制圖像-image -with-cv2-module-in-python)觀看的圖像就像在python CV2模塊(環路會)

在這個代碼中(它有點改變,從第一個)我可以很容易地處理我的轉換後的二進制圖像,提取輪廓,計算區域..但它不是再次可能執行此代碼行:cv2.imshow('gray_image',imgray)

它給我一個總灰度窗口,僅此而已。我必須退出Python,因爲進入循環。

imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY) 
ret,thresh = cv2.threshold(imgray,127,255,0) 
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) 
print('oggetti trovati') 
print(len(contours)) 
cnt = contours[0] 
print(len(cnt)) 
cv2.imshow('gray_image',imgray) 

我該怎麼辦?

+1

只是想知道cv2.imshow(..)之後是否有cv2.waitKey()? – zkan

+0

爲什麼現在工作?我嘗試使用scikit-image和matplotlib.pyplot進行類似的工作,這不是必需的!它不能執行代碼顯示圖像並執行其他代碼? – postgres

回答

4

這裏需要cv2.imshow('gray_image',imgray)後添加cv2.waitKey()。此功能用於處理任何窗口事件,如在OpenCV中創建或顯示圖像。