• PILLOW中图像mode


    在本地找了jpg的图,convert为不同mode,将不同的图截取做了个脑图,有个直观的感觉吧。

    把不同mode的图通过np.array()转化为array, 打印出array的shape, 和array[0, 0]的值, 便于理解不同mode的通道和像素值的存储。

      1 部分结果见下:

      

      2 部分代码和结果:

      

    复制代码
    # 将不同模式的图片打印出shape 和 [0, 0]像素点的值
    from PIL import Image
    import matplotlib.pyplot as plt
    image = Image.open('images/tower.jpg') # 本地一个文件
    mode_list = ['1', 'L', 'I', 'F', 'P', 'RGB', 'RGBA', 'CMYK', 'YCbCr' ]
    for mode in mode_list:
        img = image.convert(mode)
        img_data = np.array(img)
        print('img_{:>1}.shape: {}' .format(mode, img_data.shape))
        print('img_{:>}_data[0, 0]: {}'.format(mode, img_data[0, 0]))
        print('---')
    复制代码
    # 以下为output
    img_1.shape: (1276, 1920)
    img_1_data[0, 0]: False
    ---
    img_L.shape: (1276, 1920)
    img_L_data[0, 0]: 88
    ---
    img_I.shape: (1276, 1920)
    img_I_data[0, 0]: 88
    ---
    img_F.shape: (1276, 1920)
    img_F_data[0, 0]: 88.94599914550781
    ---
    img_P.shape: (1276, 1920)
    img_P_data[0, 0]: 131
    ---
    img_RGB.shape: (1276, 1920, 3)
    img_RGB_data[0, 0]: [ 51  97 147]
    ---
    img_RGBA.shape: (1276, 1920, 4)
    img_RGBA_data[0, 0]: [ 51  97 147 255]
    ---
    img_CMYK.shape: (1276, 1920, 4)
    img_CMYK_data[0, 0]: [204 158 108   0]
    ---
    img_YCbCr.shape: (1276, 1920, 3)
    img_YCbCr_data[0, 0]: [ 88 160 100]
    ---
    1. RGB 为真色彩模式, 可组合为 256 x 256 x256 种, 打印需要更改为 CMYK模式, 需要注意数值溢出的问题。
    2. HSB 模式(本篇没有涉及),建立基于人类感觉颜色的方式,将颜色分为色相(Hue),饱和度(Saturation),明亮度(Brightness),这里不详细展开。
    3. CMYK模式,应用在印刷领域,4个字母意思是青、洋红、黄、黑,因为不能保证纯度,所以需要黑。
    4. 位图模式,见1, 颜色由黑和白表示(True, False)。
    5. 灰度模式,只有灰度, 所有颜色转化为灰度值,见L,I,F。
    6. 双色调模式(未有涉及),节约成本将可使用双色调。
    7. Lab模式(未涉及,ps内置),由3通道组成(亮度,a,b)组成,作为RGB到CMYK的过渡。
    8. 多通道模式,删除RGB,CMYK,Lab中某一个通道后,会转变为多通道,多通道用于处理特殊打印,它的每个通道都为256级灰度通道。
    9. 索引颜色模式,用在多媒体和网页,通过颜色表查取,没有则就近取,仅支持单通道,(8位/像素)。 
  • 相关阅读:
    poj3068
    tyvj1864 [Poetize I]守卫者的挑战
    BZOJ1597 [Usaco2008 Mar]土地购买
    [AtCoder Regular Contest 083] Bichrome Tree
    [LUOGU]3919 【模板】可持久化数组
    [LUOGU]P3701 主席树(假的)
    2018.7.20模拟赛
    [CodeForces]1006F Xor Path
    2018.7.19模拟赛
    [LUOGU]P1373 小a和uim之大逃离
  • 原文地址:https://www.cnblogs.com/Dean0731/p/12430791.html
Copyright © 2020-2023  润新知