PIL库
- PIL,Python Image Library,图像处理库
from PIL import Image图像的数组表示
- 图像是一个由像素组成的二维矩阵,每个元素是一个RGB值
1
2
3
4
5
6from PIL import Image
import numpy as np
im=np.array(Image.open('C:/Users/HASEE/DeskTop/flower.jpg'))
# 图像是一个三位数组,维度分别是高度,宽度,像素RGB值
print(im.shape,im.dtype)
(135, 180, 3) uint8
图像的变换
- 读入图像,获取像素RGB值,修改后另存为新的文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22# 获取原图片的补值
b=[255,255,255]-im
image=Image.fromarray(b.astype('uint8'))
image.save('C:/Users/HASEE/DeskTop/flower2.jpg')
# convert('L')表示将一个彩色的图片变成一个灰度值图片,是一个二维数组,其中每一个元素对应一个灰度值
a=np.array(Image.open('C:/Users/HASEE/DeskTop/flower.jpg').convert('L'))
# 取反
b=255-a
# Image.fromarray还原为图像类型
image=Image.fromarray(b.astype('uint8'))
image.save('C:/Users/HASEE/DeskTop/flower3.jpg')
# 灰度压缩,+150变换区间
c=(100/255)*a+150
image=Image.fromarray(c.astype('uint8'))
image.save('C:/Users/HASEE/DeskTop/flower4.jpg')
# 像素平方
d=255*(a/255)**2
image=Image.fromarray(d.astype('uint8'))
image.save('C:/Users/HASEE/DeskTop/flower5.jpg')
图像的手绘效果
手绘效果的几个特征:
- 黑白灰色
- 边界线条较重
- 相同或相近色彩趋于白色
- 略有光源效果