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