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

利用OpenCV练习读取图片的时候,图片总是一闪而过,不利于观察,这个时候需要利用到waitKey函数。

waitKey函数:用来等待按键,当用户按下按键后,该语句会被执行,并获取返回值。
语法格式为retval=cv2.waitKey([delay])

  • retval:表示返回值;
  • delay:表示等待按键触发的时间,单位是ms;

下面是简单的例子展示:

import cv2
lena=cv2.imread("D:\pmjcv\lena.bmp")
cv2.namedWindow("lesson")
cv2.imshow("lesson",lena)
key=cv2.waitKey()

代码解释:第二行表示读取一张图片;第三行表示创建一个窗口命名为lesson;第三行表示为新创建的窗口显示读取的图片。

接着利用waitKey函数获取按下的按键,并针对不同的按键做出不同的反应。

import cv2
lena=cv2.imread("D:\pmjcv\lena.bmp")
cv2.namedWindow("lesson")
cv2.imshow("lesson",lena)
key=cv2.waitKey()
if key == ord('A'):
  cv2.imshow("Alesson",lena)
  cv2.waitKey()
elif key == ord('B'):
  cv2.imshow("Blesson", lena)
	cv2.waitKey()

代码解释:当在键盘按下A的时候,显示Alesson窗口;当按键B按下的时候,显示Blesson窗口。
当按键A按下:

当按键B按下:

到此这篇关于python解决OpenCV在读取显示图片的时候闪退的问题的文章就介绍到这了,更多相关OpenCV读取显示图片闪退内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 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

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

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

  • python数字图像处理skimage读取显示与保存图片

    目录 引言 一.从外部读取图片并显示 二.程序自带图片 三.保存图片 四.图片信息 引言 skimage提供了io模块,顾名思义,这个模块是用来图片输入输出操作的.为了方便练习,也提供一个data模块,里面嵌套了一些示例图片,我们可以直接使用. 引入skimage模块可用: from skimage import io 一.从外部读取图片并显示 读取单张彩色rgb图片,使用skimage.io.imread(fname)函数,带一个参数,表示需要读取的文件路径.显示图片使用skimage.io.

  • python通过opencv实现批量剪切图片

    上一篇文章中,我们介绍了python实现图片处理和特征提取详解,这里我们再来看看Python通过OpenCV实现批量剪切图片,具体如下. 做图像处理需要大批量的修改图片尺寸来做训练样本,为此本程序借助opencv来实现大批量的剪切图片. import cv2 import os def cutimage(dir,suffix): for root,dirs,files in os.walk(dir): for file in files: filepath = os.path.join(root

  • python在新的图片窗口显示图片(图像)的方法

    使用python画图,发现生成的图片在console里.不仅感觉很别扭,很多功能也没法实现(比如希望在一幅图里画两条曲线). 想像matlab一样单独地生成一个图片窗口,然后我在网上找了一个多小时,都没有找到想要的,要么仅仅是画图的教程,要么就是问题提出了,也没人回答. 我记得曾经我使用过一行代码,可以实现这个功能的.最后果然在History log里面找到了: %matplotlib qt5 显示图像于新生成的一个图片窗口 %matplotlib inline 在console中显示 以上这篇

  • Python 实现opencv所使用的图片格式与 base64 转换

    将np图片(imread后的图片)转码为base64格式 def image_to_base64(image_np): image = cv2.imencode('.jpg',image_np)[1] image_code = str(base64.b64encode(image))[2:-1] return image_code 将base64编码解析成opencv可用图片 def base64_to_image(base64_code): # base64解码 img_data = base

  • 关于解决iReport4.1.1无法正常启动或者闪退或者JDK8不兼容的问题

    公司里面再用iReport的时候,我也安装使用了. 但是面临一个问题 我的iReport始终不能打开,困绕了老半天  但是是软件问题不方便问大佬自己研究了老大一会儿 加载之后就闪退了!!! 最后还是老大还是跟我说了需要JDK1.7才可以,我的电脑安装了两个jdk 一个是1.7的一个是1.8的   平时用的1.8  所以我开发的时候一直都是1.8  突然换成1.7的很麻烦 所以经过这两天的研究 我更改了配置文件,使得它单独强制的去使用jdk1.7来启动 1.我们打开\iReport-4.1.1\e

  • python中ImageTk.PhotoImage()不显示图片却不报错问题解决

    发现问题 今天在使用ImageTk.photoImage()显示图片时,当把包含该函数放在自定义函数里时,不能正常显示,移到函数为又可正常显示,所以想到可能是变量不是全局性的缘故,改为全局变量后果然可正常显示,下面贴出前后代码对比 示例代码 ImageTk.photoImage()在自定义函数外使用(正常显示): ImageTk.photoImage()在自定义函数内使用(无法显示): ImageTk.photoImage()在自定义函数内使用(正常显示): 完整代码: 总结 以上就是这篇文章的

  • C#保存图片到数据库并读取显示图片的方法

    复制代码 代码如下: private void button2_Click_1(object sender, System.EventArgs e) { string pathName; if (this.openFileDialog1.ShowDialog()==System.Windows.Forms.DialogResult.OK) { pathName = this.openFileDialog1.FileName; System.Drawing.Image img = System.D

  • 解决python中显示图片的plt.imshow plt.show()内存泄漏问题

    当要处理批量图片,且每张图片都要进行显示时,用plt.imshow() plt.show()会出现内存泄漏, 管理器中看到其中一个python进程的内存不断上涨,目前有找到解决方法 from matplotlib import pyplot as plt ... for...: ... plt.figure(figsize=IMAGE_SIZE) plt.imshow(image_np) plt.show() 补充知识:python在内存中读取base64图片 import base64 imp

  • Python实现将照片变成卡通图片的方法【基于opencv】

    本文实例讲述了Python实现将照片变成卡通图片的方法.分享给大家供大家参考,具体如下: 之前的文章介绍了使用Photoshop将照片变成卡通图片,今次介绍用代码来实现这项任务,可以就此探查各种滤镜的内部机制. 制作环境:Windows10,Python2.7,Anaconda 任务描述:将D盘某文件夹中的所有图片使用代码进行卡通化,然后保存到另一文件夹中. 如前文所述,卡通化的关键是强化边缘与减少色彩,所以使用Photoshop进行卡通化的时候就使用了照亮边缘和干笔画的滤镜来处理.使用代码处理

随机推荐