1;读取图片
from PIL import Image
photo = Image.open(path)
photo
## 图片的像素展示与调整
print(photo.size)
photo = photo.resize([128, 128])
print(photo.size)
photo
import numpy as np
Im = np.array(photo)
# 处理后可以进行代数运算
prinfig, ax=plt.subplots(2, 5) # 设置画板格式
ax = ax.flatten() # ax拉成1*2*5的axes组,可以进行ax[i]的操作t(Im.shape)
Im[:,:,0]
# 展示某一层的数据
对图像每层的数据进行操作
Im = Im/255 # 255代表颜色深度的最大值 为了利用tensorflow和keras进行编程
print(Im[:,:,0])
from matplotlib import pyplot as plt
plt.imshow(Im)
# 对每层的数据进行操作
Im0=1.0*Im;Im0[:,:,1]=0;Im0[:,:,2]=0
Im1=1.0*Im;Im1[:,:,0]=0;Im1[:,:,2]=0
Im2=1.0*Im;Im2[:,:,0]=0;Im2[:,:,1]=0
plt.figure()
# 单色图片
fig,ax=plt.subplots(1,3) # 添加画布 1行3列
fig.set_figwidth(15) # 画布格式设置
ax[0].imshow(Im0) # R
ax[1].imshow(Im1) # G
ax[2].imshow(Im2) # B
补充:
fig, ax=plt.subplots(2, 5) # 设置画板格式
ax = ax.flatten() # ax拉成1*2*5的axes组,可以进行ax[i]的操作
# 没有flatten()的操作,只有单行可以进行ax[i]的操作
每层像素的数值转换
Im0=0.5*Im # 弱化操作
Im1=0.5*Im+0.5 # 强化
Im2=1-Im # 黑白颠倒
plt.figure()
fig,ax=plt.subplots(1,3)
fig.set_figwidth(15)
ax[0].imshow(Im0)
ax[1].imshow(Im1)
ax[2].imshow(Im2)