通过Python的PIL库进行图像的过滤

news2024/11/20 9:47:43

文章目录

  • 前言
  • 一、素材准备
  • 二、演示
    • 1.引入库
    • 2.定义图片路径
    • 3.打开原图
    • 4.过滤方法
      • 4.1图像的模糊效果
        • 代码
        • 效果图
      • 4.2图像的轮廓效果
        • 代码
        • 效果图
      • 4.3图像的细节效果
        • 代码
        • 效果图
      • 4.4图像的边界效果
        • 代码
        • 效果图
      • 4.5图像的边界加强效果
        • 代码
        • 效果图
      • 4.6图像的阈值边界加强效果
        • 代码
        • 效果图
      • 4.7图像的浮雕效果
        • 代码
        • 效果图
      • 4.8图像的平滑效果
        • 代码
        • 效果图
      • 4.9图像的阈值平滑效果
        • 代码
        • 效果图
      • 4.10图像的锐化效果
        • 代码
        • 效果图
    • 5.保存新图
  • 总结


前言

大家好,我是空空star,本篇给大家分享一下通过Python的PIL库进行图像的过滤。
本篇使用的PIL版本如下:
Name: Pillow
Version: 9.4.0


一、素材准备

二、演示

1.引入库

from PIL import Image, ImageFilter

2.定义图片路径

local = '/Users/kkstar/Downloads/video/pic/'

3.打开原图

im = Image.open(local+'demo.jpg')

4.过滤方法

4.1图像的模糊效果

代码

om = im.filter(ImageFilter.BLUR)

效果图

4.2图像的轮廓效果

代码

om = im.filter(ImageFilter.CONTOUR)

效果图

4.3图像的细节效果

代码

om = im.filter(ImageFilter.DETAIL)

效果图

4.4图像的边界效果

代码

om = im.filter(ImageFilter.FIND_EDGES)

效果图

4.5图像的边界加强效果

代码

om = im.filter(ImageFilter.EDGE_ENHANCE)

效果图

4.6图像的阈值边界加强效果

代码

om = im.filter(ImageFilter.EDGE_ENHANCE_MORE)

效果图

4.7图像的浮雕效果

代码

om = im.filter(ImageFilter.EMBOSS)

效果图

4.8图像的平滑效果

代码

om = im.filter(ImageFilter.SMOOTH)

效果图

4.9图像的阈值平滑效果

代码

om = im.filter(ImageFilter.SMOOTH_MORE)

效果图

4.10图像的锐化效果

代码

om = im.filter(ImageFilter.SHARPEN)

效果图

5.保存新图

om.save(local+'result.jpg')

总结

ImageFilter是Python图像处理库PIL中的一个类,提供了一些常用的图像滤波器。它可以用来对图像进行模糊、边缘检测等处理。 ImageFilter类的一些常用方法包括:

  1. BLUR:对图像进行均值滤波,可以实现模糊的效果。

  2. CONTOUR:检测边缘,可以将图像中的物体的轮廓取出。

  3. DETAIL:增强图像的细节,可以突出物体的纹理和细节。

  4. EDGE_ENHANCE:增强图像的边缘,可以使物体的边缘更加清晰。

  5. EMBOSS:给图像做浮雕效果,可以使图像看起来更加有立体感。

  6. FIND_EDGES:检测边缘,可以将图像中的物体的轮廓取出。

  7. SHARPEN:对图像进行锐化处理,可以使图像看起来更加清晰。

通过使用ImageFilter类中的这些方法,可以对图像进行不同的处理,实现不同的效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/444435.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自定义bean对象实现hadoop序列化

文章目录 一、源代码1.UserSaleMapper类2. UserSaleReducer类3. UserSaleDriver类4.pom.xml 二、执行结果 指导参考图: 一、源代码 1.UserSaleMapper类 package org.example.writable;import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Tex…

大厂对ChatGPT的开发利用和评估案例收录

ChatGPT已经进入各行各业,但是实际在工作中的有哪些应用呢?这里分享互联网一线大厂分享的一些实际使用案例,所有文章收录到 大厂对ChatGPT的开发利用和评估案例收录http://​www.webhub123.com/#/home/detail?projectHashid67792343&own…

Visual Studio 2019 C# 上位机入门(2):写一个简单的串口助手

前言 本文记录一下用Visual Studio 2019 C# 写一个简单的串口助手的过程,由于没有先从小处学习,而是直接找相关资料就开始做,免不了很多奇怪的问题花了一些时间,基于此情况,我将尽可能整理出更多细节,尤其…

Linux基础内容(20)—— 共享内存

Linux基础内容(19)—— 进程间通信(介绍与管道内容)_哈里沃克的博客-CSDN博客 目录 1.共享内存的原理 2.共享内存的概念和特点 创建共享内存 共享内存的形式 共享内存(ipc资源)的调用和特征 用户接口删除共享内存 共享内存关联 去关联 特点 …

React基础学习(一)

一、虚拟DOM和真实DOM <script type"text/babel"> // 此处一定要写babel!!!!!!!// 1. 创建虚拟DOM// const VDOM <h1 id"title">Hello, React!</h1> // 此处一定不要写引号 因为这不是字符串!!!!!!!const VDOM ( // 如果有多层嵌套&a…

PostgreSQL15.2最新版本安装_远程连接_Navicat操作_pgAdmin操作_Windows10上安装---PostgreSQL工作笔记001

首先去下载postgresql https://www.enterprisedb.com/downloads/postgres-postgresql-downloads 下载地址: 去上面的地址下载,最好下载10版本的,我这里下载的是15版本的,有问题,后面说吧 下载以后 然后双击安装 next 选择目录next next 输入密码next

好程序员:Java线下培训有必要吗?零基础想学Java怎么学?

有粉丝问好程序员&#xff1a;自己只有周末有时间&#xff0c;想报班学习Java编程&#xff0c;是线上学编程好还是线下学编程好&#xff1f;小源从实际客观以及学习效果的角度来讲&#xff0c;毫无疑问是线下学编程的效果会更好。为什么这样说呢&#xff1f; 比如&#xff1a;家…

初探强化学习

1.引言 人生中充满选择&#xff0c;每次选择就是一次决策&#xff0c;我们正是从一次次决策中&#xff0c;把自己带领到人生的下一段旅程中。在回忆往事的时候&#xff0c;我们会对生命中某些时刻的决策印象深刻&#xff1a;“还好当时选择了读研&#xff0c;毕业后找到了一份自…

学习小程序基础内容之逻辑交互

我们先来看一下实现的效果。 然后再来分享结构。 结构分为左右3:7 分配&#xff0c; 左侧是类别&#xff0c;右侧是该类别对应的品牌。 后台会在onload的请求把左侧的类别返回来&#xff0c;然后我们通过循环把数据展示出来。然后通过点击事件&#xff0c;把对应的品牌请求回来…

2023年,初级测试到高级测试开发工程师需要什么技能?卷起来......

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 Python自动化测试&…

泵站水闸自动化系统调试方案

1、调试方案概述 调试方案分为自控系统现场调试、视频系统现场调试以及控制中心远程调试&#xff08;包含通讯测试、自控调试和视频调试&#xff09;。 自控系统现场调试分为触摸屏调试和本地上位机调试两部分。触摸屏系统的调试步骤如下&#xff1a; 确认触摸屏和PLC的通讯情…

C++标准库 -- 泛型算法 (Primer C++ 第五版 · 阅读笔记)

C标准库 -- 泛型算法 (Primer C 第五版 阅读笔记&#xff09; 第10章 泛型算法------(持续更新)10.1、概述10.2、初识泛型算法10.2.1、只读算法10.2.2、写容器元素的算法10.2.3、重排容器元素的算法 10.3、定制操作10.4、再探迭代器10.5、泛型算法结构10.6、特定容器算法 第10…

【ubuntu】将硬盘挂载到指定目录并设置开机自动挂载

最近打算将数据盘开机自动挂载&#xff0c;省得每次都要手动挂载&#xff0c;总结步骤如下&#xff1a; 输入以下命令&#xff0c;将系统中所有的分区都列出来&#xff1a; sudo fdisk -l找到你要挂载的分区&#xff0c;可以通过容量大小分辨&#xff0c;当然&#xff0c;有可…

黑马Mysql从入门到高级

文章目录 1. 数据库基础1.1 基础概念1.2 SQL1.2.1 语法1.2.2 数据类型1.2.3 DDL&#xff08;definition&#xff09; 1.3 函数1.3.1 字符串函数1.3.2 日期函数1.3.3 数字函数1.3.4 流程函数 1.4 约束1.5 多表查询1.5.1 连接1.5.2 联合查询 2. 数据库进阶2.1 存储引擎2.1.1 Inno…

中国人民大学与加拿大女王大学金融硕士——学习的阶段让未来的人生更丰盈

初入职场的新人拥有同样的起跑线&#xff0c;经过时间的沉淀&#xff0c;每个人之间就会有差距。差距是怎样被拉开的呢&#xff1f;也可以说是行动导致的。毕竟想是问题&#xff0c;去做才是答案&#xff0c;有行动才会有结果。在职读研与其停留在想的阶段&#xff0c;不如去准…

我发现了PMP通关密码!这14页纸直接背!

一周就能背完的PMP考试技巧只有14页纸 共分成了4大模块 完全不用担心看不懂 01关键词篇 第1章引论 1.看到“驱动变革”--选项中找“将来状态” 2.看到“依赖关系”--选项中找“项目集管理” 3.看到“价值最大化”--选项中找“项目组合管理” 4.看到“可行性研究”--选项中…

「线性DP-步入」最长上升子序列(LIS)

题目描述 给定一个长度为 N 的数列&#xff0c;求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数 N。 第二行包含 N 个整数&#xff0c;表示完整序列。 输出格式 输出一个整数&#xff0c;表示最大长度。 数据范围 1 ≤ N ≤ 1000 1≤N≤1000 1≤…

【进阶C语言】有关动态内存管理的经典笔试题(详细图文讲解)

前言 &#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐的一位博主。 &#x1f4d7;本文收录于C语言进阶系列&#xff0c;本专栏主要内容为数据的存储、指针的进阶、字符串和内存函数…

.class文件在线转成.java文件方法

使用背景&#xff1a; 工作中碰到老的项目就头疼&#xff0c;有些连源码都没有&#xff0c;解决bug只能从class文件反编译成java后&#xff0c;来读懂业务逻辑。 后来在网上找了一些工具来帮助class文件转码&#xff0c;有些遇到lamda表达式就转换错误&#xff0c;有些使用起…

正则表达式的字符串取反常用正则表达式

正则表达式的字符串取反操作 文件同步时&#xff0c;想要过滤掉扩展名为.tmp或者.TMP的临时文件&#xff0c;想要使用正则表达式对字符串进行取反操作。 注意&#xff1a;[^tmp]* 这种取反的表达式&#xff0c;只能表示匹配除了t、m、p以外的所有字符&#xff0c;是单字符匹配…