图像的数组表示及变换
RGB色彩模式,即每个像素点都是由红(R)、绿(G)、蓝(B)组成。
通过RGB三色的叠加得到各种颜色,它们的取值范围0-255。
RGB 形成的颜色包括了人类十六所能感知的所以颜色。
PIL库
PIL,Python Image Library
PIL库是一个具有强大处理图像能力的第三方库。
安装方法:pip install pillow
from PIL import Image
Image 是PIL库中代表一个图像的类(对象)
图像是一个由像素组成的二维数组,每个元素是一个RGB值
from PIL import Image
import numpy as np
im = np.array(Image.open("C:\\Users\\Lenovo\\Desktop\\m\\l.jpg"))
print(im.shape,im.dtype)
图像是一个三维数组,维度分别是高度、宽度华人像素RGB值
图像的变换
读入图像后,获得像素RGB值,修改后保存为新的文件
b = [255,255,255]-a
im = Image.fromarray(b.astype('uint8'))
im.save("C:\\Users\\Lenovo\\Desktop\\m\\l.jpg")
例如变灰度
from PIL import Image
import numpy as np
a = np.array(Image.open("C:\\Users\\Lenovo\\Desktop\\m\\l.jpg").convert('L'))
print(a.shape,a.dtype)
b = [255,255,255]-a
im = Image.fromarray(b.astype('uint8'))
im.save("C:\\Users\\Lenovo\\Desktop\\m\\l.jpg")
b = (100/255)*a+150#区间变化
im = Image.fromarray(b.astype('uint8'))
im.save("C:\\Users\\Lenovo\\Desktop\\m\\l.jpg")
区间变化后:
b = 255*(a/255)**2
im = Image.fromarray(b.astype('uint8'))
im.save("C:\\Users\\Lenovo\\Desktop\\m\\l.jpg")
使灰度色彩变重: