在Pycharm和jupyter notebook中運作cv2.imshow()函數的時候,圖檔無法正常顯示,是因為在運作cv2.imshow()之後,需要使用cv2.waitKey()來保持視窗的顯示,用cv2.destroyAllWindows()來關閉視窗。
cv2.imshow()後面需要跟随着cv2.waitKey(period)函數,這個函數可以使圖像持續顯示給定的一段時間period(ms),否則,圖檔将無法顯示。例如:waitKey(0)将持續顯示圖檔直到有按鍵被按下(這一設定很适合用于顯示圖檔),用滑鼠選中圖檔顯示視窗,按下鍵盤任意鍵即可關閉該視窗。
import cv2
lena=cv2.imread("lena.bmp")
cv2.imshow("lena", lena )
cv2.waitKey(0)
cv2.destroyAllWindows()
也可以對代碼稍作修改,
import cv2
lena = cv2.imread('lena.bmp') # 讀取目錄下的jpg圖像
cv2.imshow('lena', lena) # 建立名為‘image’ 的視窗并顯示圖像
k = cv2.waitKey(0) # waitKey代表讀取鍵盤的輸入,0代表一直等待
if k ==27: # 鍵盤上Esc鍵的鍵值
cv2.destroyAllWindows()
圖像出現後
必須把光标移動到視窗上再按Esc鍵才會退出。