1. 程式人生 > 程式設計 >解決Opencv+Python cv2.imshow閃退問題

解決Opencv+Python cv2.imshow閃退問題

Opencv+Python cv2.imshow閃退

 # 讀入原始影象
 origineImage = cv2.imread('./pic/6.jpeg')
 # 影象灰度化
 # image = cv2.imread('test.jpg',0)
 image = cv2.cvtColor(origineImage,cv2.COLOR_BGR2GRAY)
 #image.save('./pic/gray.jpg')
 cv2.imshow('gray',image)
 # 將圖片二值化
 retval,img = cv2.threshold(image,127,255,cv2.THRESH_BINARY_INV)
 cv2.imshow('binary',img)

程式執行到這,圖片閃退,在cv.imshow()後加入cv2.waitKey()即可

 origineImage = cv2.imread('./pic/6.jpeg')
 # 影象灰度化
 # image = cv2.imread('test.jpg',cv2.COLOR_BGR2GRAY)
 #image.save('./pic/gray.jpg')

 cv2.imshow('gray',image)
 cv2.waitKey()
 # 將圖片二值化
 retval,img)
 cv2.waitKey()

waitKey()的作用

1、waitKey()–這個函式是在一個給定的時間內(單位ms)等待使用者按鍵觸發;如果使用者沒有按下 鍵,則接續等待(迴圈)

2、如果設定waitKey(0),則表示程式會無限制的等待使用者的按鍵事件

補充知識:OpenCV中 imshow函式執行中斷的解決方法

剛開始接觸OpenCV,遇到了個小問題,想把解決方法分享給大家。在此之前已經用VS2010配置好了OpenCV並且測試通過,執行順暢,突然有一天就不好用了,生成成功但是執行不出結果。

解決Opencv+Python cv2.imshow閃退問題

單步除錯發現是 imshow函式執行中斷。重新配置了3次,VS解除安裝了兩回,耗了兩天時間,試了百度裡的各種辦法,都失敗了。最後發現是圖片放錯了位置...汗...

結合之前的百度,加上自己的總結,遇到這種問題大概有三種解決辦法:

1. 有位博主說這算是opencv的一個bug,工程屬性裡面關於帶d和不帶d的lib檔案的附加依賴項的問題。當得到這樣的錯誤時,可以把除錯方式改一改,把debug和release互換下試一試

解決Opencv+Python cv2.imshow閃退問題

2. 有可能是圖片的字尾名的問題,有時候電腦預設隱藏字尾名,在程式中寫的是xxx.jpg,而圖片儲存的是xxx.jpg.jpg,這種情況很容易被忽略。

3.還有就是圖片存放的路徑不對,將需要載入的圖片放在專案下,與專案名同名的資料夾下。這個就是我犯的低階錯誤...

解決Opencv+Python cv2.imshow閃退問題

以上這篇解決Opencv+Python cv2.imshow閃退問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。