1.OpenCV-python:图像的读取、修改、查看、保存

作者 : 开心源码 本文共1773个字,预计阅读时间需要5分钟 发布时间: 2022-05-12 共188人阅读

环境:python3、opencv-python
函数:
1.图像的读取:cv2.imread(filename[,flags])
2.图像的修改:cv2.cvtColor(src,code[,dst[,dstCn]])
3.图像的查看:cv2.imshow(winname,mat)
4.图像的保存:cv2.imwrite(filename,img[,params])
参考自: 初识OpenCV3-图像的读、写、显、格式转化等

cv2.imread(filename[,flags])
参数1:filename可以是文件名(带后缀:’img2.jpg’),也可以是路径+文件名(带后缀:’./image/img2.jpg’)。假如是文件名则在当前文件夹下读取,即与运行的代码同级目录下;若是路径+文件名(相对路径或者绝对路径),则在对应文件夹下读取。
参数2:是标志位,要告诉函数应该如何读取这幅图片,即指定加载图片的颜色类型,默认加载类型是cv2.IMREAD_COLOR,读入BGR(在opencv中,其默认的颜色制式排列是BGR而非RGB)彩色图像。

cv2.cvtColor(src,mode[,dst[,dstCn]])
参数1:要进行颜色空间转换的图像。

参数2:从什么制式的图像转换成什么制式的图像。颜色空间转换

cv2.imshow(winname,mat)
参数1:展现图像的窗口的名字,可随便取。
参数2:想要展现的图像。
cv2.imwrite(filename,img[,params])
参数1:可以是文件名(带后缀:’img2.jpg’),也可以是路径+文件名(带后缀:’./image/img2.jpg’)。假如是文件名则保存在当前文件夹下,即与运行的代码同级目录下;若是路径+文件名(相对路径或者绝对路径),则保存在对应文件夹下。
参数2:想要保存的图像。

import cv2img = cv2.imread('./image/img2.jpg')#读入图像,返回一个数组gray_img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#颜色空间变换,返回一个数组cv2.imshow('gray_img',gray_img)#查看图片cv2.waitKey()#等待客户按键触发cv2.destroyAllWindows()#销毁窗口cv2.imwrite('./image/gray_img2.jpg',gray_img)#保存图像到本地

原图:img2.jpg

保存到本地的图:gray_img2.jpg

摘自:OpenCV-Python学习之(一)waitKey()函数详解

waitKey()函数详解 :
1.1 waitKey()–这个函数是在一个给定的时间内(单位ms)等待客户按键触发;假如客户没有按下 键,则接续等待(循环)
1.2 如下所示: while(1){ if(waitKey(100)==27)break; } 在这个程序中,我们告诉OpenCv等待客户触发事件,等待时间为100ms,假如在这个时间段内, 客户按下ESC(ASCII码为27),则跳出循环,否则,则继续循环
1.3 假如设置waitKey(0),则表示程序会无限制的等待客户的按键事件
注意:python下cv.waitKey无响应起因
按下键的时候,焦点要落在窗口上,不能落在cmd窗口上。
另外,一般在imshow()后要使用waitKey(),给图像绘制留下时间,不然窗口会出现无响应情况,并且图像无法显示出来。
int waitKey(int delay=0)

  • 延时delay = 0 函数则延时无限长,必需有键按下才继续执行。
  • 延时delay > 0 函数返回值为按下的键的ASCII码值,超时则返回-1。
    也就是说必需在有窗口显示的情况下,waitKey才有作用,否则无效。
    比方调用cv.waitKey(0),假如此时没有活动的窗口,该函数立刻返回-1

cv2.waitKey()与cv2.destroyAllWindows()
在jupyter notebook 的实践结果:
cv2.waitKey():
1.传不传参数,没发现差异;
2.不加这行看不到图像;
3.阻塞后面代码执行,直到按键被按下或者窗口关闭。
cv2.destroyAllWindows():不加这行会导致python崩溃。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 1.OpenCV-python:图像的读取、修改、查看、保存

发表回复