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

 

 

posted @ 2019-06-27 09:48  成长中的菜鸟zhy  阅读(6541)  评论(0编辑  收藏  举报