乐趣区

关于python:pltRGB模型

1. 红加蓝

img = np.zeros([256, 256, 3], dtype=np.uint8)
 for i in range(256):
    for j in range(256):
       img[i, j] = (255 - i, 0, j)

在 img[i, j] 中,i 意味着从上到下,j 意味着从做到右。从左向右 256 个像素逐步变红,从下往上 256 个像素逐步变蓝:

2. 绿加红

img[i, j] = (255 - i, 255 - j, 0)

从左向右 256 个像素逐步变红,从上往下 256 个像素逐步变绿:

3. 蓝加绿

img[i, j] = (0, i, j)

从左向右 256 个像素逐步变绿,从上往下 256 个像素逐步变蓝:

4.plt 绘制三视图

img = cv2.imread("./br.jpg")
img1 = cv2.imread("./gr.jpg")
img2 = cv2.imread("./bg.jpg")

plt.subplot(2, 2, 1); plt.imshow(img1)
plt.subplot(2, 2, 2); plt.imshow(img)
plt.subplot(2, 2, 4); plt.imshow(img2)

在 opencv 中色彩通道是(蓝,绿,红);在 plt 中是(红,绿,蓝)。失去三视图:

5. 综上从新绘制六面图形

img1 = np.zeros([256, 256, 3], dtype=np.uint8)
 img2 = np.zeros([256, 256, 3], dtype=np.uint8)
 img3 = np.zeros([256, 256, 3], dtype=np.uint8)
 img4 = np.zeros([256, 256, 3], dtype=np.uint8)
 img5 = np.zeros([256, 256, 3], dtype=np.uint8)
 img6 = np.zeros([256, 256, 3], dtype=np.uint8)
 for i in range(256):
    for j in range(256):
       # 红色向右,蓝色向上
       img1[i, j] = (255 - i, 0, j)
       # 蓝色向上,绿色向左
       img2[i, j] = (255 - i, 255 - j, 0)
       # 绿色向下,红色向右
       img3[i, j] = (0, i, j)
       # 蓝色走到了最边上,绿色向上,红色向右
       img4[i, j] = (255, 255 - i, j)
       # 红色走到了最边上,绿色向右,蓝色向上
       img5[i, j] = (255 - i, j, 255)
       # 绿色走到了最边上,红色向左,蓝色向上
       img6[i, j] = (255 - i, 255, 255 - j)

 plt.subplot(3, 4, 6)
 plt.imshow(img1)
 plt.subplot(3, 4, 5)
 plt.imshow(img2)
 plt.subplot(3, 4, 10)
 plt.imshow(img3)
 plt.subplot(3, 4, 2)
 plt.imshow(img4)
 plt.subplot(3, 4, 7)
 plt.imshow(img5)
 plt.subplot(3, 4, 8)
 plt.imshow(img6)

plt 分为了 12 个局部,只用到了六个局部。将这六面组装起来就是 RGB 三维模型,这六面相邻的边都是相等的。

退出移动版