美文网首页
使用numpy模块输出纯色

使用numpy模块输出纯色

作者: 米酒真香 | 来源:发表于2018-07-03 10:10 被阅读50次
    import numpy as np
    import matplotlib.pyplot as plt
    data = np.zeros((100,200,3),dtype="int")  # zeros的shape参数为(100,200,3)表示是一个100行200列,每个点有3个元素的阵列。即长200px,高100px的二维像素集,dtype="int"表示像素集可以用256的rgb的数组(list)表示。zeros表示这个100行200列的像素阵列的每一个像素点都是rgb(0,0,0),即[0,0,0]
    data
    
    # data 数据
    array([[[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],
            ...,
            [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]],
    
           ...,
    
           [[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],
            ...,
            [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]]])
    
    img = plt.imshow(data) # 显示图像
    
    output_1_0.png
    data[::,::,0:1] = 255  # 将阵列的每一个点的第一个数值修改为255,其他值不变
    data  # 再次查看data数据
    
    # 每一行,每一列的像素点的第一个数值已经变成了255,即rgb(255,0,0) 纯红色
    array([[[255,   0,   0],
            [255,   0,   0],
            [255,   0,   0],
            ...,
            [255,   0,   0],
            [255,   0,   0],
            [255,   0,   0]],
    
           [[255,   0,   0],
            [255,   0,   0],
            [255,   0,   0],
            ...,
            [255,   0,   0],
            [255,   0,   0],
            [255,   0,   0]],
    
           [[255,   0,   0],
            [255,   0,   0],
            [255,   0,   0],
            ...,
            [255,   0,   0],
            [255,   0,   0],
            [255,   0,   0]],
    
           ...,
    
           [[255,   0,   0],
            [255,   0,   0],
            [255,   0,   0],
            ...,
            [255,   0,   0],
            [255,   0,   0],
            [255,   0,   0]],
    
           [[255,   0,   0],
            [255,   0,   0],
            [255,   0,   0],
            ...,
            [255,   0,   0],
            [255,   0,   0],
            [255,   0,   0]],
    
           [[255,   0,   0],
            [255,   0,   0],
            [255,   0,   0],
            ...,
            [255,   0,   0],
            [255,   0,   0],
            [255,   0,   0]]])
    
    plt.imshow(data) # 显示图像
    
    <matplotlib.image.AxesImage at 0x222114e1b00>
    
    output_3_1.png
    data[::,::,0:1] = 0  # 先把每个像素点的第一个值归0
    data[::,::,1:2] = 255 # 再把每一个像素点的第2个值修改为255,即 rgb(0,255,0) 纯绿色
    data
    
    array([[[  0, 255,   0],
            [  0, 255,   0],
            [  0, 255,   0],
            ...,
            [  0, 255,   0],
            [  0, 255,   0],
            [  0, 255,   0]],
    
           [[  0, 255,   0],
            [  0, 255,   0],
            [  0, 255,   0],
            ...,
            [  0, 255,   0],
            [  0, 255,   0],
            [  0, 255,   0]],
    
           [[  0, 255,   0],
            [  0, 255,   0],
            [  0, 255,   0],
            ...,
            [  0, 255,   0],
            [  0, 255,   0],
            [  0, 255,   0]],
    
           ...,
    
           [[  0, 255,   0],
            [  0, 255,   0],
            [  0, 255,   0],
            ...,
            [  0, 255,   0],
            [  0, 255,   0],
            [  0, 255,   0]],
    
           [[  0, 255,   0],
            [  0, 255,   0],
            [  0, 255,   0],
            ...,
            [  0, 255,   0],
            [  0, 255,   0],
            [  0, 255,   0]],
    
           [[  0, 255,   0],
            [  0, 255,   0],
            [  0, 255,   0],
            ...,
            [  0, 255,   0],
            [  0, 255,   0],
            [  0, 255,   0]]])
    
    plt.imshow(data)
    
    <matplotlib.image.AxesImage at 0x222115452e8>
    
    output_5_1.png
    data[::,::,1:2] = 0 # 把每一个像素点的第2个值归0
    data[::,::,2:3] = 255  # 第3个值改为255,rgb(0,0,255) 纯蓝色
    data
    
    array([[[  0,   0, 255],
            [  0,   0, 255],
            [  0,   0, 255],
            ...,
            [  0,   0, 255],
            [  0,   0, 255],
            [  0,   0, 255]],
    
           [[  0,   0, 255],
            [  0,   0, 255],
            [  0,   0, 255],
            ...,
            [  0,   0, 255],
            [  0,   0, 255],
            [  0,   0, 255]],
    
           [[  0,   0, 255],
            [  0,   0, 255],
            [  0,   0, 255],
            ...,
            [  0,   0, 255],
            [  0,   0, 255],
            [  0,   0, 255]],
    
           ...,
    
           [[  0,   0, 255],
            [  0,   0, 255],
            [  0,   0, 255],
            ...,
            [  0,   0, 255],
            [  0,   0, 255],
            [  0,   0, 255]],
    
           [[  0,   0, 255],
            [  0,   0, 255],
            [  0,   0, 255],
            ...,
            [  0,   0, 255],
            [  0,   0, 255],
            [  0,   0, 255]],
    
           [[  0,   0, 255],
            [  0,   0, 255],
            [  0,   0, 255],
            ...,
            [  0,   0, 255],
            [  0,   0, 255],
            [  0,   0, 255]]])
    
    plt.imshow(data)
    
    <matplotlib.image.AxesImage at 0x2221159c908>
    
    output_7_1.png
    data[::,::,2:3] = 0  # 把每一个像素点的第3个值归0
    data[::,::,0:2] = 255  # 前2个值改为255,rgb(255,255,0)
    data
    
    array([[[255, 255,   0],
            [255, 255,   0],
            [255, 255,   0],
            ...,
            [255, 255,   0],
            [255, 255,   0],
            [255, 255,   0]],
    
           [[255, 255,   0],
            [255, 255,   0],
            [255, 255,   0],
            ...,
            [255, 255,   0],
            [255, 255,   0],
            [255, 255,   0]],
    
           [[255, 255,   0],
            [255, 255,   0],
            [255, 255,   0],
            ...,
            [255, 255,   0],
            [255, 255,   0],
            [255, 255,   0]],
    
           ...,
    
           [[255, 255,   0],
            [255, 255,   0],
            [255, 255,   0],
            ...,
            [255, 255,   0],
            [255, 255,   0],
            [255, 255,   0]],
    
           [[255, 255,   0],
            [255, 255,   0],
            [255, 255,   0],
            ...,
            [255, 255,   0],
            [255, 255,   0],
            [255, 255,   0]],
    
           [[255, 255,   0],
            [255, 255,   0],
            [255, 255,   0],
            ...,
            [255, 255,   0],
            [255, 255,   0],
            [255, 255,   0]]])
    
    plt.imshow(data)
    
    <matplotlib.image.AxesImage at 0x222115f3eb8>
    
    output_9_1.png
    data[::,::,0:2] = 0  # 每个像素点的前2个值归0,rgb(0,0,0)
    data[::,::,1:3] = 255  # 后2个值改为255,rgb(0,255,255)
    data
    
    array([[[  0, 255, 255],
            [  0, 255, 255],
            [  0, 255, 255],
            ...,
            [  0, 255, 255],
            [  0, 255, 255],
            [  0, 255, 255]],
    
           [[  0, 255, 255],
            [  0, 255, 255],
            [  0, 255, 255],
            ...,
            [  0, 255, 255],
            [  0, 255, 255],
            [  0, 255, 255]],
    
           [[  0, 255, 255],
            [  0, 255, 255],
            [  0, 255, 255],
            ...,
            [  0, 255, 255],
            [  0, 255, 255],
            [  0, 255, 255]],
    
           ...,
    
           [[  0, 255, 255],
            [  0, 255, 255],
            [  0, 255, 255],
            ...,
            [  0, 255, 255],
            [  0, 255, 255],
            [  0, 255, 255]],
    
           [[  0, 255, 255],
            [  0, 255, 255],
            [  0, 255, 255],
            ...,
            [  0, 255, 255],
            [  0, 255, 255],
            [  0, 255, 255]],
    
           [[  0, 255, 255],
            [  0, 255, 255],
            [  0, 255, 255],
            ...,
            [  0, 255, 255],
            [  0, 255, 255],
            [  0, 255, 255]]])
    
    plt.imshow(data)
    
    <matplotlib.image.AxesImage at 0x22211654470>
    
    output_11_1.png
    data[::,::,1:2] = 0  # 每个像素点的第个值归0,rgb(0,0,255)
    data[::,::,0:1] = 255 # 第1个值改为255,rgb(255,0,255)
    data
    
    array([[[255,   0, 255],
            [255,   0, 255],
            [255,   0, 255],
            ...,
            [255,   0, 255],
            [255,   0, 255],
            [255,   0, 255]],
    
           [[255,   0, 255],
            [255,   0, 255],
            [255,   0, 255],
            ...,
            [255,   0, 255],
            [255,   0, 255],
            [255,   0, 255]],
    
           [[255,   0, 255],
            [255,   0, 255],
            [255,   0, 255],
            ...,
            [255,   0, 255],
            [255,   0, 255],
            [255,   0, 255]],
    
           ...,
    
           [[255,   0, 255],
            [255,   0, 255],
            [255,   0, 255],
            ...,
            [255,   0, 255],
            [255,   0, 255],
            [255,   0, 255]],
    
           [[255,   0, 255],
            [255,   0, 255],
            [255,   0, 255],
            ...,
            [255,   0, 255],
            [255,   0, 255],
            [255,   0, 255]],
    
           [[255,   0, 255],
            [255,   0, 255],
            [255,   0, 255],
            ...,
            [255,   0, 255],
            [255,   0, 255],
            [255,   0, 255]]])
    
    plt.imshow(data)
    
    <matplotlib.image.AxesImage at 0x222114af908>
    
    output_13_1.png

    相关文章

      网友评论

          本文标题:使用numpy模块输出纯色

          本文链接:https://www.haomeiwen.com/subject/fakduftx.html