一幅图像就是一个多维数组,有列像素和行像素,每个像素都有一个值。对于不同类型的图像数据,像素值可以使用不同的格式。例如,通过简单地创建一个二维NumPy数组,可以从头开始创建一幅3×3的黑色正方形图像:
1.创建数组
通过简单地创建一个二维NumPy数组
import numpy as np
img=np.zeros((3,3),np.uint8)
print(img)
输出:
[[0 0 0]
[0 0 0]
[0 0 0]]
每个像素都用一个8位整数表示,这意味着每个像素的值都
在0~255的范围内,其中0表示黑色,255表示白色,中间的值表示灰
色。这是一幅灰度图像。
使用cv2.cvtColor函数把这幅图像转换成蓝–绿–红 (在opencv中,通道的顺序一般是BGR,是逆序的)
(Blue-Green-Red,BGR)格式:
cvtColor类型转换函数
参数说明:
参数:
img=cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)
输出:
[[[0 0 0]
[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]
[0 0 0]]]
2.显示图片
img=cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)
cv2.imshow("source", img)
输出
3.使用切片操作修改图像的颜色
img[:,:]=255 #纯白
img[:,:,0]=255 #纯蓝
img[:,:,1]=255 #纯绿
img[:,:,2]=255 #纯红
cv2.imshow("source", img)