当前位置: 首页 > news >正文

Python学习之Image模块图片滤镜效果操作示例

前言

滤镜效果是图像处理中常用的一种技术,可以用来增强图像的视觉效果,实现不同的效果,比如增强对比度、饱和度、色彩等。滤镜效果可以帮助用户快速地调整图像的特性,从而使图像更加适合用户的需求。
在这里插入图片描述

Image模块对于图像处理的基本功能讲解

Python 中的 PIL (Python Imaging Library) 模块是一个广泛使用的图像处理库,它提供了一系列用于图像处理的函数和工具。其中,Image 模块是 PIL 中最基本、最常用的模块之一,它提供了以下几个方面的功能:

1、图像打开和读取:Image 模块提供了 open() 函数用于打开图像文件,并返回一个 Image 对象。Image对象可以用于读取和处理图像文件。

2、图像保存和格式转换:Image 模块提供了 save() 函数用于将图像保存到文件中,并支持多种格式的图像文件,如JPEG、PNG、BMP、GIF 等。此外,Image 对象还支持转换图像格式,如将 JPEG 格式的图像转换为 PNG 格式。

3、图像缩放和裁剪:Image 模块提供了 resize() 和 crop() 函数用于缩放和裁剪图像。resize()函数可以将图像缩放到指定的大小,而 crop() 函数可以从图像中截取指定的区域。

4、图像滤镜:Image 模块提供了多种图像滤镜,如 blur()、brightness()、contrast()、grayscale()、hue()、invert()、saturation()、crop()、rotate()、transform()等。这些滤镜可以用于增强或改变图像的某些特征。

5、图像操作:Image模块提供了一些基本的图像操作,如旋转、翻转、缩放、裁剪、调整亮度、对比度、饱和度等。这些操作可以用于修改图像的外观和属性。

6、色彩空间转换:Image 模块支持 RGB、CMYK、YUV 等色彩空间的转换。这些转换可以用于将图像从一种色彩空间转换为另一种色彩空间,以便进行后续的处理和操作。

7、图像过滤器:Image模块提供了多种图像过滤器,如卷积、中值、平均等。这些过滤器可以用于对图像进行一些特定的操作,如去噪、锐化、边缘检测等。

对图像滤镜的应用

1、显示图片轮廓,代码示例

'''根据图片显示其轮廓
'''
from PIL import Image,ImageFilter
img=Image.open('test.jpg') # 打开图片文件
newimg=img.filter(ImageFilter.CONTOUR) # 设置图片筛选器
newimg.save('轮廓效果.png', 'png') # 保存轮廓效果的图片

在这里插入图片描述

2、显示图片浮雕效果,代码示例

'''图片的浮雕效果显示
'''
from PIL import Image,ImageFilter
img=Image.open('test.jpg') # 打开图片文件
newimg=img.filter(ImageFilter.EMBOSS) # 设置图片筛选器
newimg.save('浮雕效果.png', 'png') # 保存浮雕效果的图片

在这里插入图片描述

3、显示图片轮廓,代码示例

'''图片的边界增强效果显示
'''
from PIL import Image,ImageFilter
img=Image.open('test.jpg') # 打开图片文件
newimg=img.filter(ImageFilter.EDGE_ENHANCE_MORE) # 设置图片筛选器
newimg.save('边界增强.png', 'png') # 保存边界增强效果的图片

在这里插入图片描述

4、显示图片模糊效果,代码示例

'''图片的模糊效果显示
'''
from PIL import Image,ImageFilter
img=Image.open('test.jpg') # 打开图片文件
newimg=img.filter(ImageFilter.BLUR) # 设置图片筛选器
newimg.save('模糊效果.png', 'png') # 保存模糊效果的图片

在这里插入图片描述

总结

总的来说,Image 模块是 PIL 中最基本、最常用的模块之一,提供了丰富的图像处理功能,可以用于图像的读取、保存、处理、缩放、裁剪、滤镜等多种操作,是 Python 图像处理的重要工具之一。希望对看到的小伙伴有帮助,感谢支持。

也可以参考相关的两篇文章:
Python代码学习之给图片添加文字或图片水印
Python学习之批量转换图片格式和统一图片尺寸

http://www.lryc.cn/news/67080.html

相关文章:

  • Grafana 系列-统一展示-5-AWS Cloudwatch 仪表板
  • MySQL---控制流函数、窗口函数(序号函数、开窗聚合函数、分布函数、前后函数、头尾函数、其他函数)
  • 一心报国的西工大网安人走出新手村
  • 如何安装oracle的sample schema
  • ChatGPT :国内免费可用 ChatGPT +Midjourney绘图
  • 女孩子转数据分析难吗?难在哪里?
  • 基于常用设计模式的业务框架
  • ubuntu重启ssh服务
  • 【19】SCI易中期刊推荐——计算机 | 人工智能领域(中科院2区)
  • Vue.js条件、循环语句
  • Go语言学习查缺补漏ing Day4
  • 说服审稿人,只需牢记这 8 大返修套路!
  • Java 责任链模式详解
  • 使用MASA全家桶从零开始搭建IoT平台(三)管理设备的连接状态
  • 我的新书上架了!
  • 语言与专业的奇迹:如何利用ChatGPT优化跨国贸易
  • 云服务器安装宝塔Linux面板命令脚本大全
  • zed2i相机中imu内参的标定及外参标定
  • Java中的JUnit是什么?如何使用JUnit进行单元测试
  • 【seata的部署和集成】
  • uniapp学习日记之request自定义请求头
  • 【Rust】速度入门---打印个螃蟹先
  • 《Linux 内核设计与实现》12. 内存管理
  • 公司新来个卷王,让人崩溃...
  • Docker 安全及日志管理
  • 大厂面试必备 - MAC 地址 和 IP 地址分别有什么作用?
  • 【sqlite】联查Join更新
  • asp.net+C#德育课程分数统计管理系统
  • Figma中文网?比Figma更懂你的设计网站!
  • Nacos-01-Nacos基本介绍