图像的IO操作,读取和保存方法
1.1 API
cv.imread()
参数:
要读取的图像
读取图像的方式:
cv.IMREAD*COLOR:以彩色模式加载图像,任何图像的图像的透明度都将被忽略。这是默认参数 标志: 1
cv.IMREAD*GRAYSCALE :以灰度模式加载图像 标志: 0
cv.IMREAD_UNCHANGED :包括alpha通道(透明通道)的加载图像模式。 标志: -1
可以使用1、0或者-1来替代上面三个标志
1.2显示图像
cv.imshow()
参数:
- 显示图像窗口名称,以字符串类型表示
- 要加载的图像
注意:在调用图像API后,要调用cv.waitKey()给图像绘制留下时间,否则窗口会出现无响应的情况,并且图像无法显示出来
另外我们也可以使用matplotlib对图像进行展示
- 如果读取的是彩色图像(三个通道·)
'''
读取图像的方式:
**cv.IMREAD*COLOR**:以彩色模式加载图像,任何图像的图像的透明度都将被忽略。这是默认参数 标志: 1
**cv.IMREAD*GRAYSCALE** :以灰度模式加载图像 标志: 0
**cv.IMREAD_UNCHANGED** :包括alpha通道(透明度通道)的加载图像模式。 标志: -1
可以使用**1、0或者-1**来替代上面三个标志
'''
import cv2
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
#以灰度图的形式读取图像
img = cv.imread('lena.png')
cv.imshow('image1',img)
cv2.waitKey(0)
#在matplotlib中显示
plt.imshow(img[:,:,::-1]) #图像按BGR顺序存储,显示的时候顺序是RGB通道,所以需要翻转成RGB
plt.show()
- 如果读取的是灰度图(一个通道)
plt.imshow(img,cmap='gray') #使用灰度色彩映射显示灰度图像
plt.show() #显示图像
1.3保存图像
cv.imwrite()
参数:
- 文件名,要保存在哪里(注意:要具体到文件名)
- 要保存的图像
#保存图像
cv.imwrite(r"E:\All_in\opencv\lena_saved.png",img)