我跟着教程this page,但執行cv2.drawContours(im,contours,-1,(0,255,0),3)
行時似乎沒有發生。正如教程中所示,我期待看到帶有綠色輪廓的star.jpg。這裏是我的代碼:Python opencv drawContours不顯示任何東西
import numpy as np
import cv2
im = cv2.imread('C:\Temp\ip\star.jpg')
print im.shape #check if the image is loaded correctly
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)
cv2.drawContours(im,contours,-1,(0,255,0),3)
pass
沒有錯誤信息。 star.jpg是上述網頁中的明星。 我使用的是opencv版本2.4.8和Python 2.7。
drawContours應該在屏幕上顯示圖像嗎?如果是這樣,我做錯了什麼?如果不是,我該如何顯示圖像?
由於
編輯:
添加下列行將顯示圖像:
cv2.imshow("window title", im)
cv2.waitKey()
waitKey()需要否則窗口將只顯示一個灰色背景。根據this post,這是因爲waitKey()告訴它開始處理WM_PAINT事件。
drawContours吸引輪廓到圖像。它不顯示在屏幕上。調用drawContours(。)後,您必須顯示圖像im'才能看到它。 – lightalchemist