一、读取图像时将图像转换为单通道灰度图
标志
cv2.IMREAD_GRAYSCALE
测试代码
import cv2 as cv # 导入cv2模块并改名为cv。好处:见名知意,还可以少敲个2
img0 = cv.imread('Rem.png') # 读取原图
cv.imshow('YuanTu',img0) # 显示原图
print(img0.shape) # 打印BGR彩图的shape值
img1 = cv.imread('Rem.png',cv.IMREAD_GRAYSCALE) # 读取图像并转为灰度图
cv.imshow('HuiDuTu',img1) # 显示灰度图
print(img1.shape) # 打印灰度图的shape值
cv.waitKey(0) # 等待按键输入
cv.destroyAllWindows() # 销毁所有窗口
运行结果
总结
shape值有 H:高 W:宽 C:通道数 三个数值
结果可以看到灰度图只有HW,没有显示C,默认为1,,表示只有一个颜色通道
二、读取图像时将图像转换为BGR彩图并将大小变为原来的1/4
标志
cv2.IMREAD_REDUCED_COLOR_4
测试代码
import cv2 as cv # 导入cv2模块并改名为cv。好处:见名知意,还可以少敲个2
img0 = cv.imread('Rem.png') # 读取原图
cv.imshow('YuanTu',img0) # 显示原图
img1 = cv.imread('Rem.png',cv.IMREAD_REDUCED_COLOR_4) # 读取图像并将大小变为原来的1/4
cv.imshow('1/4',img1) # 显示1/4图
cv.waitKey(0) # 等待按键输入
cv.destroyAllWindows() # 销毁所有窗口
运行结果
总结
标志后边的数字为几就缩小为几分之一,但要注意只能是2、4、8
三、其他标志
图像读取格式标志 | 说明 | ||
cv2.IMREAD_UNCHANGED | 按原样加载图像 | ||
cv2.IMREAD_GRAYSCALE | 将图像转化为灰度图 | ||
cv2.IMREAD_COLOR | 将图像转化为3通道的BGR彩图 | ||
cv2.IMREAD_GRAYSCALE_2(4/8) | 将图像转为灰度图并变为原来的1/2(4/8) | ||
cv2.IMREAD_COLOR_2(4/8) | 将图像转为BGR彩图并变为原来的1/2(4/8) | ||
cv2.IMREAD_ANYDEPTH | 当图像具有相应深度时,返回16位或32位 图像,否则其深度转换为8位 | ||
cv2.IMREAD_ANYCOLOR | 以任何可能得颜色格式读取图像 | ||
cv2.IMREAD_LOAD_GDAL | 使用gdal驱动程序加载图像 | ||
cv2.IMREAD_IGNORE_ORIENTATION | 不根据EXIF方向标志旋转图像 |
OpenCV学习笔记,方便你我他。
2023/7/22/3:03