解決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’,0) image = cv2.cvtColor(origineImage, cv2.COLOR_BGR2GRAY) #image.save(’./pic/gray.jpg’) cv2.imshow(’gray’, image) cv2.waitKey() # 將圖片二值化 retval, img = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY_INV) cv2.imshow(’binary’, img) cv2.waitKey()
waitKey()的作用
1、waitKey()?這個函數(shù)是在一個給定的時間內(nèi)(單位ms)等待用戶按鍵觸發(fā);如果用戶沒有按下 鍵,則接續(xù)等待(循環(huán))
2、如果設(shè)置waitKey(0),則表示程序會無限制的等待用戶的按鍵事件
補充知識:OpenCV中 imshow函數(shù)運行中斷的解決方法
剛開始接觸OpenCV,遇到了個小問題,想把解決方法分享給大家。在此之前已經(jīng)用VS2010配置好了OpenCV并且測試通過,運行順暢,突然有一天就不好用了,生成成功但是運行不出結(jié)果。
單步調(diào)試發(fā)現(xiàn)是 imshow函數(shù)運行中斷。重新配置了3次,VS卸載了兩回,耗了兩天時間,試了百度里的各種辦法,都失敗了。最后發(fā)現(xiàn)是圖片放錯了位置...汗...
結(jié)合之前的百度,加上自己的總結(jié),遇到這種問題大概有三種解決辦法:
1. 有位博主說這算是opencv的一個bug,工程屬性里面關(guān)于帶d和不帶d的lib文件的附加依賴項的問題。當?shù)玫竭@樣的錯誤時,可以把調(diào)試方式改一改,把debug和release互換下試一試
2. 有可能是圖片的后綴名的問題,有時候電腦默認隱藏后綴名,在程序中寫的是xxx.jpg,而圖片保存的是xxx.jpg.jpg,這種情況很容易被忽略。
3.還有就是圖片存放的路徑不對,將需要載入的圖片放在項目下,與項目名同名的文件夾下。這個就是我犯的低級錯誤...
以上這篇解決Opencv+Python cv2.imshow閃退問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
