北斗系统 soap compilation Ractivejs 微信小游戏开发视频 erp系统源码 jquery绑定click事件 springboot单点登录 eclipse闪退 html好看的字体 maya曲线建模 vue使用bootstrap python设置环境变量 java运算符 java时间戳转换 java调用方法 java接口的实例 popen js绝对值 只狼鬼佛 电视免费软件 手机模拟器下载 lol体验服转换器 wscript go2lan 页面刷新 手机电脑模拟器 pr蒙版 ABViewer 画图怎么添加文字 还原软件哪个好 ip地址切换器 qq飞车刷车 4k对齐是什么意思 chrome访问助手 清华天河 小程序图片上传 nonetype 情头污系 投屏软件电脑版
当前位置: 首页 > 学习教程  > python

opencv-python(一):图片的读入、显示和保存

2021/2/6 22:19:42 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

1. 读入图像 cv2.imread(path,mode):path是图像的路径,mode是读入图片时的模式:cv2.IMREAD_COLOR:读入彩色图像,忽略透明度cv2.IMREAD_GRAYSCALE:以灰度模式读入图像cv2.IMREAD_UNCHANGED:读入图…

1. 读入图像

  • cv2.imread(path,mode):path是图像的路径,mode是读入图片时的模式:
  • cv2.IMREAD_COLOR:读入彩色图像,忽略透明度
  • cv2.IMREAD_GRAYSCALE:以灰度模式读入图像
  • cv2.IMREAD_UNCHANGED:读入图像,包括alpha通道
# 以彩色图模式读取lena.jpg图片,并给变量img
img=cv2.imread("lena.jpg",cv2.IMREAD_COLOR)

2. 创建面板

一般可以先创建一个面板,再在面板上面显示图片,好处是你可以在这一步设置显示窗口是否可调节;当然也可以省略这一步,直接显示图片,但是这样显示的窗口是无法人为调节的;

  • cv2.namedWindow(title,mode):title是窗口的名字,显示图片是需要title一致,title不一致则相当于另新建创建,mode是选择是否可调节:
  • cv2.WINDOW_AUTOSIZE:程序根据图片自动调节窗口大小,用户无法调节
  • cv2.WINDOW_NORMAL:用户可以自己调节窗口大小
# 新建一个名为蕾娜的面板,模式为用户可调节
cv2.namedWindow("cs",cv2.WINDOW_NORMAL)

2. 显示图片

  • cv2.imshow(title,img):title是给窗口起个名字也是该窗口的唯一id;img是要显示的图像
# 在面板"cs"上显示图像img
cv2.imshow("cs",img)

3.等待用户按键

  • cv2.waitKey(mode):一个键盘绑定函数,单位是ms,看是否有键盘输入,返回的是键的ACSII码,mode则是输入整数:
  • 0:无限期等待按键
  • 一个大于0的整数:等待这么多秒

如果要用户指定输入某个按键:
if cv2.waitKey(0)==ord(‘q’): # 如果输入按键q则:

cv2.waitKey(0)  #等待用户操作,再执行下一步
或者:
cv2.waitKey(100)  #图像img显示100ms后自动关闭,执行下一步
或者:
if cv2.waitKey(0) == ord('q'): #一直等待,若用户键入q键,则条件成立,执行下一步
# ord('q')也可以直接是q的ascii码,或者像上面一样ord转码

4. 销毁窗口

  • cv2.destoryWindows(title):指定销毁名为title的窗口
    或者:
  • cv2.destoryAllWindows():销毁所有窗口
cv2.destoryWindows("cs") # 销毁名为cs的面板
或者:
cv2.destoryAllWindows() # 销毁所有面板

5.保存图像

  • cv2,imwrite(name,img):name是保存图片是给图片起的路径(包括名字和后缀名),img是需要保存的图片
cv2.imwrite("image/lena1.jpg",img) #将img保存到image下面,且名字为lena1.jpg

6.总结

以彩色照片读入lena.jpg,并给变量img
显示img图像,窗口名为image
无限期等待用户键盘,若有则将键盘动作给变量k
判断若键盘输入是ESC(ESC的ASCII码是27):销毁所有窗口
若键盘输入是"q":另存为lena_1.jpg,然后销毁所有窗口

import cv2

img=cv2.imread("lena.jpg",cv2.IMREAD_COLOR)
cv2.imshow("image",img)
k=cv2.waitKey(0)
if k==27:
    cv2.destoryWindows()
elif k==ord('s'):
	cv2.imwrite("lena_1.jpg",img)
	cv2.destoryAllWindows()

本文链接: http://www.dtmao.cc/news_show_2000014.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?