图片的读取
import cv2 as cv
path="./test.png"
image = cv.imread(path, 1)
第一个参数,表示路径
第二个参数,表示读取方式,官方文档显示
- cv.IMREAD_COLOREGRGB以RGB顺序读取图片但是不会读取透明度,默认值
- cv.IMREAD_GRAYSCALE 把原始图片当灰度图读取,若图片是彩色图,每个像素取周围均值
- cv.IMREAD_UNCHANGED以RGB顺序读取图片包括透明度
- 以上参数可以分别用1,0,-1简写
返回结果image是三维数组 [height, width, channel],但是颜色通道是BGR顺序,官方文档解释了个寂寞。所以需要把BGR格式转化为RGB格式
image = cv.cvtColor(image, cv.COLOR_BGR2RGB)
图片的保存
save_path = "./test2.png"
cv.imwrite(save_path, image)
第一个参数是保存的路径➕名称
第二个参数保存的图片数据,类型是np.darray格式
需要注意的坑是:
如果这个时候image是BGR格式,直接保持就好
但是如果这个时候image是RGB格式,则需要将image转变为BGR再保存
否则呢,最后保存的图片是BRG样式
因为cv.imwrite模式保存的格式是BGR模式,其他格式会出现异常
patch = cv.cvtColor(patch, cv.COLOR_RGB2BGR)