解決Opencv+Python cv2.imshow閃退問題
阿新 • • 發佈:2020-04-24
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並且測試通過,執行順暢,突然有一天就不好用了,生成成功但是執行不出結果。
單步除錯發現是 imshow函式執行中斷。重新配置了3次,VS解除安裝了兩回,耗了兩天時間,試了百度裡的各種辦法,都失敗了。最後發現是圖片放錯了位置...汗...
結合之前的百度,加上自己的總結,遇到這種問題大概有三種解決辦法:
1. 有位博主說這算是opencv的一個bug,工程屬性裡面關於帶d和不帶d的lib檔案的附加依賴項的問題。當得到這樣的錯誤時,可以把除錯方式改一改,把debug和release互換下試一試
2. 有可能是圖片的字尾名的問題,有時候電腦預設隱藏字尾名,在程式中寫的是xxx.jpg,而圖片儲存的是xxx.jpg.jpg,這種情況很容易被忽略。
3.還有就是圖片存放的路徑不對,將需要載入的圖片放在專案下,與專案名同名的資料夾下。這個就是我犯的低階錯誤...
以上這篇解決Opencv+Python cv2.imshow閃退問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。