1. 图像读取–imread
函数原型
imread(filename,flag=)
# filename : 文件路径
# flag: 读取图像的方式
flag取值
- cv.IMREAD_COLOR: 加载彩色图像。任何图像的透明度都会被忽视。它是默认标志。对应的整数值为1。
- cv.IMREAD_GRAYSCALE:以灰度模式加载图像。对应的整数值为0。
- cv.IMREAD_UNCHANGED:加载图像,包括alpha通道。对应的整数值为-1。
2. 图像写入–imwrite
函数原型
imwrite(filename,img,params=)
# filename : 写入路径
# img : 图像矩阵
# params : 未知
3. 显示图像–imshow
函数原型
imshow(winname,mat)
# winname: 窗口名称
# mat: 图像矩阵
4. 综合小程序
程序功能:用户通过输入1,0或-1指定图像读取方式,读取完图片文件后按s保存图片,Esc退出循环,其他键继续循环。
import cv2 as cv
def test(filepath):
names = ['color','gray_scale','unchanged']
values = [1,0,-1]
flags = dict(zip(names,values))
while True:
flag = int(input(f'请从{flags}选择:'))
img = cv.imread(filepath,flag)
cv.imshow("image",img)
k = cv.waitKey(0)
if k == ord('s'):
cv.imwrite("result.jpg",img)
cv.destroyWindow("image")
# 27 -- Esc按键
if k == 27:
break
if __name__ == "__main__":
test("imgs/lena.jpg")