Opencv Python cv2.imshow闪退
代码语言:javascript复制 # 读入原始图像
origineImage = cv2.imread('.https://img.yuanmabao.com/zijie/pic/6.jpeg')
# 图像灰度化
# image = cv2.imread('test.jpg',0)
image = cv2.cvtColor(origineImage, cv2.COLOR_BGR2GRAY)
#image.save('.https://img.yuanmabao.com/zijie/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()即可
代码语言:javascript复制 origineImage = cv2.imread('.https://img.yuanmabao.com/zijie/pic/6.jpeg')
# 图像灰度化
# image = cv2.imread('test.jpg',0)
image = cv2.cvtColor(origineImage, cv2.COLOR_BGR2GRAY)
#image.save('.https://img.yuanmabao.com/zijie/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()–这个函数是在一个给定的时间内(单位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闪退问题就是小编分享给大家的全部内容了,希望能给大家一个参考。