目录
(插个目录方便快速查看)
filrer
图片的过滤,需要引入ImageFilter
from PIL import Image, ImageFilter
im=Image.open("image/fj.jpg")
im = im.filter(ImageFilter.BLUR)
im.show()
输出
过滤的一些儿模式
filter | 描述 |
BLUR | 模糊//类似于马赛克 |
CONTOUR | 轮廓//线稿的感觉 |
DETAIL | 详情 |
EDGE_ENHANCE | 边缘增强//边缘线过度突出 |
EDGE_ENHANCE_MORE | 边缘增强更多 |
EMBOSS | 电磁波//浮雕版 |
FIND_EDGES | 寻找边缘 |
SHARPEN | 夏普//更清晰 |
SMOOTH | 光滑//有点儿像滤镜 |
SMOOTH_MORE | 更光滑 |
BLUR EDGE_ENHANCE EDGE_ENHANCE_MORE
CONTOUR EMBOSS FIND_EDGES
DETAIL SHARPEN SMOOTH
rotate
旋转
参数
angle | 必传参数,按角度制计算,按逆时针方向旋转 |
resample | 重采样,是一个可选的重采样过滤器。可以传入Image.NEAREST, Image.BILINEAR, Image.BICUBIC。默认为Image.NEAREST。如果图像的模式为'1'或'P',则始终设置为Image.NEAREST。 |
expand | 可扩展性,布尔值0和1,默认为0,0表示尺寸相同,1表示调整尺寸,就是可看到较为完整的图形 |
center | 传入长度为2的元组(x, y),表示旋转中心的像素点。默认为原图的几何中心。 |
translate | 平移的坐标。传入长度为2的元组(x, y),将原图按(x, y)进行平移,默认为(0, 0) |
fillcolor | 填充颜色,默认为黑色,颜色的表示还是传统的三种形式。 |
from PIL import Image, ImageFilter
im=Image.open("image/fj.jpg")
im = im.rotate(56,expand=1,center=(300,300),translate=(20,20),fillcolor=(100,40,50))
im.show()
将expand改为0.
getdata
getdata函数返回的是一个sequence(序列)对象,其每一个元素对应像素点的RGB值。
from PIL import Image, ImageFilter
im=Image.open("image/fj.jpg")
im1 = im.getdata()
print(im1[2])
输出
(205, 160, 163)
getdata()函数的返回值是图像的每个像素点的颜色值,但其返回值的个数根本上取决于模式的不同。
例如:
如果图像的模式是“RGB”等模式,则颜色值如同上面代码所示,一个像素点的颜色值由(R,G,B)组成。每个像素点的值就是由三个数组成。但是,若是为‘1’或者是‘L'则其输出为一个值。
from PIL import Image, ImageFilter
im=Image.open("image/fj.jpg")
im=im.convert('L')
im1 = im.getdata()
print(im1[2])
输出