目录
- 图像读取与形状
- 图像数据展示
- 图像数据操作
- 超出范围的像素值处理
图像读取与形状
- 使用
cv2.imread
函数读取图像文件。 - 图像的形状通过
shape
属性获取,格式为(高度, 宽度, 颜色通道数)
。
import cv2
img1 = cv2.imread('bg.jpg')
img2 = cv2.imread('fish.jpg')
print('img1 is shape:', img1.shape)
print('img2 is shape:', img2.shape)

图像数据展示
- 通过切片操作
[:5, :, 0]
展示图像的前五行第一个颜色通道的数据。
print('-' * 60)
print('img1 partial data:', img1[:5, :, 0])
print('img2 partial data:', img2[:5, :, 0])

图像数据操作
- 直接对图像数组进行数值操作,如
img1 + 10
,会将图像每个像素值增加10。
img1_ = img1 + 10
print('img1 + 10 partial data:', img1_[:5, :, 0])

超出范围的像素值处理
- 当像素值超过255时,直接数组加法会导致取余操作,将值映射回0到255范围。
cv2.add
函数在像素值超出0到255范围时,会将超出部分归一化到255。
print('-' * 60)
print('img1 + img1_ partial data:', (img1 + img1_)[:5, :, 0])
print('-' * 60)
print(cv2.add(img1, img1_)[:5, :, 0])

👇 源码资料获取 · 技术与交流 👇
