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

(0)

相关推荐

  • 解决python测试opencv时imread导致的错误问题

    如下所示: import cv2 import numpy as np img = cv2.imread("1.jpg")//图片和代码在同个目录,改为相对路径,解决由imread引起的打不开图片或找不到图片的路径问题 cv2.imshow("1",img) cv2.waitKey(10000) D:\>my.py OpenCV Error: Assertion failed (size.width>0 && size.height>

  • 解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)

    发现问题 当我用pip安装好opencv-pyton后,我激动得在python项目中导入cv2 就像这样: import cv2 as cv but- 码代码时竟然没有自动补全!!!这我还能忍,可是CTRL+左键竟然不能看源码!!!!!!就像这样: 这我就受不了了.于是开始找解决方法 解决问题 查找解决方法, 有的说要将cv2.cp36-win_amd64.pyd文件挪到site-packages下: 有的说要修改_init_.py文件 有的说- 直到我看到https://segmentfaul

  • opencv改变imshow窗口大小,窗口位置的方法

    如下所示: cv2.HoughLinesP cv2.namedWindow("enhanced",0); cv2.resizeWindow("enhanced", 640, 480); cv2.imshow("enhanced",lines) cv2.waitKey(0) 创建窗口时候改变下参数就可以鼠标随意拖动窗口改变大小啦 cv::namedWindow("camera", CV_WINDOW_NORMAL);//CV_W

  • 解决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, i

  • 解决Navicat Premium 15连接数据库闪退的问题

    首先排查下网上大神说的有道词典的问题. 我是没有有道词典打开,连接数据库的时候闪退,以此打开,工具-选项-环境 进入OCI环境配置,修改OCIlibrary为为自己对应数据库的oci.dll配置文件(我的是oracle数据库,oracle官网下载对应的instantclient并解压) 退出后,重新连接,成功. 知识点扩展: 解决Navicat Premium 连接Oracle闪退 前言:之前有过使用Navicat Premium 连接Oracle闪退的情况,因为怕自己忘记,所以写一下如果碰到这

  • 如何解决点击 tomcat9.exe闪退的问题

    有读者联系问,怎么tomcat启动都会出现问题,刚下载完还没开始操作.在这里说下怎么解决这个问题. 一. 问题描述 双击执行 startup.bat 可以正常启动,接着启动 tomcat9.exe 时,停顿了一下就闪退了. 二. 解决方法 打开命令行终端 (快捷键:Win + r ),输入 cmd 再进入到tomcat的 bin 目录中,输入service.bat install (这里因为本机上已经解决了,所以直接在虚拟机上面单单下载个Tomcat,截虚拟机上面的图.因此提示没有JDK.JRE

  • python解决OpenCV在读取显示图片的时候闪退的问题

    利用OpenCV练习读取图片的时候,图片总是一闪而过,不利于观察,这个时候需要利用到waitKey函数. waitKey函数:用来等待按键,当用户按下按键后,该语句会被执行,并获取返回值. 语法格式为retval=cv2.waitKey([delay]) retval:表示返回值: delay:表示等待按键触发的时间,单位是ms: 下面是简单的例子展示: import cv2 lena=cv2.imread("D:\pmjcv\lena.bmp") cv2.namedWindow(&q

  • Tomca启动闪退问题解决(八大类)

    目录 一.Java环境不对,Tomcat 不同版本需要的Java环境不同. 二.环境变量没有配置好 三.Tomcat端口被占用 四.配置文件编码问题 五.启动时需要的配置文件编写出错 六.部分相关文件丢失 七.免安装的tomcat闪退 八.修改配置文件setclasspath.bat 九.等待更新 Tomcat 启动时出现黑屏一闪而过的现象原因有很多,但通常都涉及几个方法: 一.Java环境不对,Tomcat 不同版本需要的Java环境不同. 有时tomcat版本能够正常安装,但启动时检测到ja

  • 详解pycharm的python包opencv(cv2)无代码提示问题的解决

    我们在使用pycharm的时候总是很喜欢其强大的代码提示功能,只需ctrl+左键就可以查看源码,"."也能显示所含的函数,但是很多时候opencv的模块经常是失灵的. so,解决此问题. 环境:windows/linux 第一步 安装opencv 这是加强版的opencv带有很多机器学习的方法 pip install opencv-contrib-python 第二步 在site-package中修改cv2的__init__.py文件 找到你的python的site-packages文

  • python用pyinstaller封装exe双击后疯狂闪退解决办法

    这里我们需要分析问题报错闪退问题,如何查看问题: 利用 截图工具或者 QQ截图快捷键 去抓取cmd窗口的闪退里面的内容,去查看问题. 大部分都是因为 缺少模块包 导致的.在这里我想说的是网上那种 加 input 和 os.system("pause") 还有在cmd命令模式下加 .\***.exe 都是没有用的,如果你的代码真的没有input 那的确是要添加.就算不添加其实也能在CMD命令窗口中执行代码的缓慢过程,但 是 不会闪退的. 闪退解决办法: 1.利用QQ快捷键截图到exe在c

  • opencv python 图片读取与显示图片窗口未响应问题的解决

    显示图像是 Opencv最基本的操作之一, imshow()函数可以实现该操作.如果使用过其他GUI框架背景,就会很自然地调用 imshow来显示一幅图像.但这个观点并不完全正确,因为图像确实会显示出来,但随即会消失. 例如下面代码: import cv2 import numpy as np img = cv2.imread('C://Users/yefci/Pictures/0.2.jpg') cv2.imshow('C://Users/yefci/Pictures/0.2.jpg',img

  • Jupyter notebook 启动闪退问题的解决

    可能某次不小心改了配置文件,导致无法打开jupyter,找了很多方法,都没从根本上解决问题. 倒是发现启动的默认目录被改了,怀疑是这个问题. 然后就彻底解决了:在命令行输入 jupyter notebook --generate-config 可修改为默认路径.就可以打开了. 参考这里 补充知识:jupyter notebook 闪退打不开,报错ImportError: DLL load failed: 文件或目录损坏且无法读取. 晚上想继续完善python大作业的时候发现jupyter怎么也打

  • 解决python cv2.imread 读取中文路径的图片返回为None的问题

    使用cv2读取图片时,输出图片形状大小时出现报错" 'NoneType' object has no attribute shape",后来排查发现读取图片的返回值image为None, 这就说明图片根本就没有被读取. 下面图片是问题问题解决后,为了更好的展示,写的代码展示,这是正常的因果关系,找错误排查时是从下往上推. 使用PIL读取图像,能够成功读取图片,借此了解图片的大小和格式,代码如下图所示: cv.imread函数能够成功读取非中文路径的图片,所以就想到是不是中文路径的问题,

随机推荐