解决Opencv+Python cv2.imshow闪退问题

时间:2021-05-23

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()–这个函数是在一个给定的时间内(单位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闪退问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章