前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决Opencv+Python cv2.imshow闪退问题

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

作者头像
砸漏
发布2020-11-03 16:02:41
2K0
发布2020-11-03 16:02:41
举报
文章被收录于专栏:恩蓝脚本

Opencv+Python cv2.imshow闪退

代码语言:javascript
复制
 # 读入原始图像
 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()即可

代码语言:javascript
复制
 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闪退问题就是小编分享给大家的全部内容了,希望能给大家一个参考。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档