wordpress 站内链接,盐城亭湖区建设局网站,软件技术课程,苏州比较好的建筑公司文章目录 切割缩放和旋转拼接 PIL的Image类#xff0c;提供了一些常用的图像处理方法。
切割缩放和旋转
PIL可以很方便地实现如下效果 代码如下
from PIL import Image
path lena.jpg
img Image.open(path) # 读取
img.resize((50, 50), resampleImage.Resampling.NEARE… 文章目录 切割缩放和旋转拼接 PIL的Image类提供了一些常用的图像处理方法。
切割缩放和旋转
PIL可以很方便地实现如下效果 代码如下
from PIL import Image
path lena.jpg
img Image.open(path) # 读取
img.resize((50, 50), resampleImage.Resampling.NEAREST).save(resize.png)
img.crop((0, 0, 200, 200)).save(crop.png) # 截取
img.rotate(60).save(rotate.png)【resize】为缩放函数其首个参数为缩放后的尺寸。图像经过缩放之后像素个数会发生变化resample参数可以指定其填充像素的方法支持的参数类型是Image中的枚举格式Resampling默认为双三次插值BICUBIC此外还支持最邻近插值NEAREST双线性插值BILINEAR汉明插值HAMMING以及BOX插值和LANCZOS插值。BOX插值在图像放大时与NEAREST相同压缩时采取附近像素的平均值。
【crop】为裁切函数输入参数为左、上、右、下端点处的像素坐标。
【routate】为旋转函数输入为旋转角度。
滤波
filter方法可以实现图像滤波效果如下 这些效果都是通过ImageFilter中预定义的滤波类实现的代码如下
from PIL import ImageFilterimg.filter(ImageFilter.BLUR).save(BLUR.png)
img.filter(ImageFilter.CONTOUR).save(CONTOUR.png)
img.filter(ImageFilter.FIND_EDGES).save(FIND_EDGES.png)这些滤波类没有参数可以直接调用
【BLUR】模糊【CONTOUR】提取轮廓【DETAIL】貌似没什么变化【EDGE_ENHANCE】边缘增强【EDGE_ENHANCE_MORE】边缘更增强【EMBOSS】浮雕【FIND_EDGES】边缘查找【SHARPEN】锐化【SMOOTH】平滑【SMOOTH_MORE】更加平滑
拼接
上面那张由三种不同滤波组合而成的图像也可以通过PIL来生成代码如下
pImg Image.new(RGB, size(1536, 512))
pImg.paste(img.filter(ImageFilter.BLUR), (0, 0, 512, 512))
pImg.paste(img.filter(ImageFilter.FIND_EDGES), (512, 0, 1024, 512))
pImg.paste(img.filter(ImageFilter.CONTOUR), (1024, 0, 1536, 512))
pImg.save(pImg.png)【new】可以生成一张新的图像第一个参数是图像的色彩模式。
【paste】可将一张图像粘贴到当前图像中必须注意这个方法会修改当前图像的值。其第一个输入参数就是准备贴入的图像第二个参数粘贴位置。