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()

     

  • 相关阅读:
    yapi 接口管理-格式化脚本
    如何快速将网站变为黑白?
    vue自定义事件传参
    重写vue1.X的broadcast和dispatch方法(ElementUI)
    h5 左右滑动切换tab栏
    安装pip和pylint
    使用jquery/javascript 获取网络时间
    关于手机适配的方案(transform)
    项目搭建模板
    AngularJS1.X版本双向绑定九问
  • 原文地址:https://www.cnblogs.com/zhanghaiyan/p/9585094.html
Copyright © 2011-2022 走看看