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

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()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是一个对称矩阵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值