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

     

  • 相关阅读:
    游标
    js问题杂记
    博客园页面设置
    Natas13 Writeup(文件上传,绕过图片签名检测)
    Natas12 Writeup(文件上传漏洞)
    Natas11 Writeup(常见编码、异或逆推、修改cookie)
    Natas10 Writeup(正则表达式、grep命令)
    Natas9 Writeup(命令注入)
    Natas8 Writeup(常见编码、php函数)
    Natas7 Writeup(任意文件读取漏洞)
  • 原文地址:https://www.cnblogs.com/zhanghaiyan/p/9585094.html
Copyright © 2011-2022 走看看