numpy-创造图像矩阵

创建RGB矩阵列表

h, w = img.shape[:2]
s = 3
img1 = np.zeros([h, w, s], dtype = np.uint8)

zeros表示创建的是零矩阵,h 表示多少列,w 表示多少行,s 表示通道数目
默认格式为float64;uint8表示一种特殊的格式:只能为0~255的整数(8位二进制整型),(254+3=1)。这样构造的img1就是一张三通道与img同大小的黑色的图片。

修改图片颜色

img1[:,:] = (255,0,0)

原本img1中颜色通道为(0,0,0)表示黑色,通过给每一行,每一列的颜色通道赋予RGB颜色就能改变颜色,如(255,0,0)表示蓝色,(0,255,0)表示绿色,(0,0,255)表示红色,(255,255,255)表示白色

黑色背景中绘制出白色矩形

这是我自制的一个在黑色图片中绘制出白色矩形的函数

创建一个400*400的黑色图片
img = np.zeros([400, 400, 3], np.uint8)

得到图片:
numpy-创造图像矩阵_第1张图片

获得图像像素的长宽
h, w = img.shape[:2]
设置矩形的起始点
x, y = (50,50)
设置矩形内陷的宽度
w = 10
开始改变矩形数值,将原本的黑0变为白255
img[x:w - x, y:y + s] = 255
img[w - x - s:w - x, y + s:h - y] = 255
img[x:w - x - s, h - y - s:h - y] = 255
img[x:x + s, y + s:h - y - s] = 255

得到输出:
numpy-创造图像矩阵_第2张图片

你可能感兴趣的:(pythonnumpy)