zoukankan      html  css  js  c++  java
  • python图像处理(3)图像的通道、变换和剪切

    1,通道

    from PIL import Image
    import matplotlib.pyplot as plt        # 可以理解为画板
    import numpy as np
    img = Image.open('c:/2.jpg')
    # 一:图像通道
    # 1.转化为灰度图的两种方法
    gray = img.convert('L')
    gray = np.array(gray)      # 将灰度图放在数组中(我)
    # *
    plt.figure("boy")
    plt.imshow(gray,cmap='gray')
    plt.axis('on') 
    plt.show()
    # 2.通道的合并与分离
    r,g,b = img.split()   # 分离成RGB三个通道。。提取R G B分量
    print('----',r)
    print(g)
    print(b)
    pic = Image.merge('RGB',(r,g,b))  # 合并通道
    # 这是原图
    plt.figure("beauty")
    plt.subplot(2,3,1), plt.title('origin')  # (x,c,v) 三个数字是可以调节的:  x:表示行   c:表示一行的列数   v:表示第几个
    plt.imshow(img),plt.axis('on')            # 原图 plt.axis是否显示坐标轴
    # 这就是转化为灰度图像
    plt.subplot(2,3,2), plt.title('gray')   # gray 灰色
    plt.imshow(gray,cmap='gray'),plt.axis('off')
    # RGB合并的图像
    plt.subplot(2,3,3), plt.title('merge')   # merge 合并
    plt.imshow(pic),plt.axis('off')
    # 红、绿、蓝三个通道的缩略图,都是以灰度显示的,用不同的灰度色阶来表示“ 红,绿,蓝”在图像中的比重。
    r = np.array(r)
    plt.subplot(2,3,4), plt.title('r')
    # plt.imshow(r,cmap='gray'),plt.axis('off')
    plt.imshow(r),plt.axis('off')
    
    g = np.array(g)
    plt.subplot(2,3,5), plt.title('g')
    plt.imshow(g),plt.axis('off')
    
    b = np.array(b)
    plt.subplot(2,3,6), plt.title('b')
    plt.imshow(b),plt.axis('off')
    
    plt.show()

     

  • 相关阅读:
    CSS
    人物
    CSS
    CSS
    概念- 工业4.0
    C#正则表达式
    六月定律
    c#中实现登陆窗口(无需隐藏)
    c#中关于String、string,Object、object,Int32、int
    一个快速找第k+1小的算法
  • 原文地址:https://www.cnblogs.com/zhanghaiyan/p/9585094.html
Copyright © 2011-2022 走看看