运用skimage.transform进行图像处理后,发现像素数值在-1 与1 之间,然后减去数据RGB的均值(100左右),不可行。
1. PIL读取,旋转,缩放的操作
于是采用命令
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image
img = Image.open('lena.png') # 读取的图像显示的<matplotlib.image.AxesImage object at 0x7f9f0c60f7f0>
img.show()
img.format
region = img.transpose(Image.ROTATE_180) #翻转
out = img.resize((128, 128)) # 改变大小
out1 = img.rotate(45) #旋转
plt.imshow(img) # 显示
mean=np.array([104., 117., 124.]) #均值
np.shape(img)
img1 -= mean
plt.imshow(img1)
2.PIL, matplotlib 读取图像的差别
import matplotlib.pyplot as plt
mport numpy as np
from PIL import Image
img = Image.open('lena.png') # 读取的图像显示的<matplotlib.image.AxesImage object at 0x7f9f0c60f7f0>
lena = mpimg.imread('lena.png') #直接显示像素的矩阵形式
#img 显示成矩阵形式的操作
img1 = np.array(img)
3.在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片。本人偏爱 matpoltlib,因为它的语法更像 matlab。详细讲解https://www.cdsy.xyz/computer/programme/Python/230130/cd39912.html