PIL
是Python的一个图像处理库,支持多种文件格式;PIL
提供强大的图像处理和图形处理能力;pip install Pillow
Python37\Lib\site-packages\PIL
PIL
的常见子库或者常见的类及说明:类或子库 | 说明 |
---|---|
| 最重要的模块,如创建、打开、显示、保存图像等功能,合成、裁剪、滤波等功能,获取图像属性功能,如图像直方图、通道数等 |
| 算术图形操作,如图像特效,图像组合,算法绘图等 |
| 允许用户检测和测量图像的各种特性 |
| 基本的图形处理功能,如可创建新图像,注释或润饰已存在图像,为web应用实时产生各种图形 |
| 图像增强 |
| 为图像打开和保存功能提供了相关支持功能 |
| 从一个 |
| 各种滤波器的预定义集合 |
| 字体库 |
| 将屏幕上的内容拷贝到一个 |
| 可完成直方图均衡、裁剪、量化、镜像等操作 |
| 存储和操作二维向量数据 |
| 为图像序列中每一帧提供了迭代器 |
| 计算一张图像或者一张图像的一个区域的全局统计值 |
| 创建和修改 |
| 为 |
ImageFilter.CONTOUR
;from PIL import Image, ImageFilter
class TestImage():
def __init__(self):
super(TestImage, self).__init__()
self.img = Image.open("./image06.jpg")
# self.img.show()
# 图片轮廓
def test_contur(self):
self.contur = self.img.filter(ImageFilter.CONTOUR)
# self.contur.show()
self.contur.save("image06_contur.jpg")
if __name__ == "__main__":
image = TestImage()
image.test_contur()
ImageFilter.EMBOSS
;# 浮雕效果
def test_emboss(self):
self.emboss = self.img.filter(ImageFilter.EMBOSS)
# self.emboss.show()
self.emboss.save("image07_emboss.jpg")
ImageFilter.EDGE_ENHANCE_MORE
; def test_enhance_m(self):
self.enhance = self.img.filter(ImageFilter.EDGE_ENHANCE_MORE)
# self.enhance.show()
self.enhance.save("image08_enhance.jpg")
ImageFilter.BLUR
; def test_blur(self):
self.blur = self.img.filter(ImageFilter.BLUR)
# self.blur.show()
self.blur.save("image09_blur.jpg")
ImageFilter.DETAIL
; def test_detail(self):
self.detail = self.img.filter(ImageFilter.DETAIL)
self.detail.save("image10_detail.jpg")
ImageFilter.EDGE_ENHANCE
; def test_enhance(self):
self.enhance01 = self.img.filter(ImageFilter.EDGE_ENHANCE)
self.enhance01.save("image11_enhance01.jpg")
ImageFilter.FIND_EDGES
; def test_find_edges(self):
self.find_edges = self.img.filter(ImageFilter.FIND_EDGES)
self.find_edges.save("image12_find_edges.jpg")
ImageFilter.SMOOTH
; def test_smooth(self):
self.smooth = self.img.filter(ImageFilter.SMOOTH)
self.smooth.save("image13_smooth.jpg")
ImageFilter.SMOOTH_MORE
; def test_smooth_m(self):
self.smooth_m = self.img.filter(ImageFilter.SMOOTH_MORE)
self.smooth_m.save("image14_smooth_m.jpg")
ImageFilter.SHARPEN
; def test_sharpen(self):
self.sharpen = self.img.filter(ImageFilter.SHARPEN)
self.sharpen.save("image15_sharpen.jpg")
# -*- coding:utf-8 -*-
# 作者:虫无涯
# 日期:2023/11/20
# 文件名称:test_pil.py
# 作用:图片效果处理
from PIL import Image, ImageFilter
class TestImage():
def __init__(self):
super(TestImage, self).__init__()
self.img = Image.open("./image06.jpg")
# self.img.show()
# 图片轮廓
def test_contur(self):
self.contur = self.img.filter(ImageFilter.CONTOUR)
# self.contur.show()
self.contur.save("image06_contur.jpg")
# 浮雕效果
def test_emboss(self):
self.emboss = self.img.filter(ImageFilter.EMBOSS)
# self.emboss.show()
self.emboss.save("image07_emboss.jpg")
# 边界增强
def test_enhance_m(self):
self.enhance = self.img.filter(ImageFilter.EDGE_ENHANCE_MORE)
# self.enhance.show()
self.enhance.save("image08_enhance.jpg")
# 图片模糊
def test_blur(self):
self.blur = self.img.filter(ImageFilter.BLUR)
# self.blur.show()
self.blur.save("image09_blur.jpg")
# 细节增强
def test_detail(self):
self.detail = self.img.filter(ImageFilter.DETAIL)
self.detail.save("image10_detail.jpg")
# 不同灰度边缘增强
def test_enhance(self):
self.enhance01 = self.img.filter(ImageFilter.EDGE_ENHANCE)
self.enhance01.save("image11_enhance01.jpg")
# 找出图像中的边缘信息
def test_find_edges(self):
self.find_edges = self.img.filter(ImageFilter.FIND_EDGES)
self.find_edges.save("image12_find_edges.jpg")
# 平滑处理
def test_smooth(self):
self.smooth = self.img.filter(ImageFilter.SMOOTH)
self.smooth.save("image13_smooth.jpg")
# 深度平滑处理
def test_smooth_m(self):
self.smooth_m = self.img.filter(ImageFilter.SMOOTH_MORE)
self.smooth_m.save("image14_smooth_m.jpg")
# 锐化处理
def test_sharpen(self):
self.sharpen = self.img.filter(ImageFilter.SHARPEN)
self.sharpen.save("image15_sharpen.jpg")
if __name__ == "__main__":
image = TestImage()
# image.test_contur()
# image.test_emboss()
# image.test_enhance_m()
# image.test_blur()
# image.test_detail()
# image.test_find_edges()
# image.test_smooth()
# image.test_smooth_m()
image.test_sharpen()
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。