MOOC python数据分析(3)PIL库/图像处理
一、系列文章目录
(1)Numpy
(2)数据存取/随机数函数
(3)PIL库/图像处理
(4)Matplotlib库
(5)Pandas库
文章目录
- 一、系列文章目录
- 二、图像的数组表示
- PIL库
- 图像变换
- 手绘效果处理
二、图像的数组表示
图像一般使用RGB色彩模式,即每个像素点的颜色由红®、绿(G)、蓝(B)组成,取值范围0-255。图像是由像素组成的二维矩阵,每个元素是一个RGB值。
图像是一个三维数组,维度分别是高度、宽度和像素RGB值。数据类型:uint8
PIL库
PIL, (Python Image Library),图像处理的第三方库
安装方法:
pip install pillow
from PIL import Image #PIL库代表一个图像的类
图像变换
读取图像RGB值,形成数组,改变RGB值,保存为新图片
from PIL import Image
import numpy as np
im = np.array(Image.open("D:/data/picture.jpg")) #读取
im_new = [255,255,255] - im #修改RGB
im_new_pic = Image.fromarray(im_new.astype('uint8')) #修改数据类型,生成图像
im_new_pic.save("D:/data/picture1.jpg") #保存图片
from PIL import Image
import numpy as np
im = np.array(Image.open("D:/data/picture2.jpg").convert('L'))# 处理为灰度图片
im_new = 255 - im
im_new_pic = Image.fromarray(im_new.astype('uint8'))
im_new_pic.save("D:/data/picture22.jpg")
手绘效果处理
手绘图片特征:
- 黑白灰色
- 相同相近色彩趋近于白色
- 略有光源效果
- 边界线条重
手绘风格=灰度+立体+明暗。灰度=明暗变化 ,梯度=灰度变化率,可以通过改变梯度来改变明暗变化。
添加虚拟深度值可以模拟立体程度。