Python的Pillow库进行图像文件处理(图文详解)
作者:青衣煮茶 发布时间:2023-10-04 04:02:23
标签:Python,Pillow,图像处理
本文详解的讲解了使用Pillow库进行图片的简单处理,使用PyCharm开发Python的详细过程和各种第三方库的安装与使用。
目标
1.熟悉Python的开发环境;
2.掌握Pillow库的安装方法;
3.熟悉Pillow库的使用方法。
开始吧!
1、打开PyCharm,创建一个新的.py文件
2、配置环境
本文中使用Python3.6版本开发 点击ok 2、库的安装使用
在搜索栏中输入pillow,选中第一个pillow,然后安装。
安装完成!
此图中我们看到pillow库已配置成功。
3、PIL库概述
PIL库可以完成图像归档和图像处理两方面功能需求:
(1)图像归档:对图像进行批处理、生成图像预览、图像格式转换等;
(2)图像处理:图像基本处理、像素处理、颜色处理等。
4、代码段
本次使用的图片为:
绝对路径为D:\python作业\dog.jpg
#图片处理:
from PIL import Image
from PIL import ImageFilter
from PIL import ImageEnhance
img = Image.open("D:\python\dog.jpg")
print(img.format) # 输出图片基本信息
print(img.mode)
print(img.size)
img_resize = img.resize((256,256)) # 调整尺寸
img_resize.save("dogresize.jpg")
img_rotate = img.rotate(45) # 旋转
img_rotate.save("dogrotate.jpg")
om=img.convert('L')# 灰度处理
om.save('doggray.jpg')
om = img.filter(ImageFilter.CONTOUR)# 图片的轮廓
om.save('dogcontour.jpg')
om = ImageEnhance.Contrast(img).enhance(20)# 对比度为初始的10倍
om.save('dogencontrast.jpg')
#更改图片格式:
from PIL import Image
import os
filelist =["dog.jpg",
"dogcontour.jpg",
"dogencontrast.jpg",
"doggray.jpg",
"dogresize.jpg",
"dogrotate.jpg",
]
for infile in filelist:
outfile = os.path.splitext(infile)[0] + ".png"
if infile != outfile:
try:
Image.open(infile).save(outfile)
except IOError:
print ("cannot convert", infile)
鼠标右键点击运行
运行结果
来源:https://blog.csdn.net/wfy2695766757/article/details/81193370


猜你喜欢
- 如下所示:with tf.GradientTape(persistent=True) as tape: z1 = f(w1, w2 + 2.
- CASE 表达式分为简单表达式与搜索表达式,其中搜索表达式可以覆盖简单表达式的全部能力,我也建议只写搜索表达式,而不要写简单表达式。简单表达
- 如果我们想对一个表的每一行做出比较复杂的操作,大多会想到用游标,本文中,我们将换一种思路,用SQL Server 2005中的新函数ROW_
- 首先,单表的UPDATE语句:UPDATE [LOW_PRIORITY] [IGNORE] tbl_nameSET col_name1=ex
- 在开始之前还是提一下三个函数吧:"ob_start()、ob_end_clean()、ob_get_contents()"
- 1. 原理孔洞指的是被前景像素点或者说感兴趣的像素点包围起来的区域,这个区域是我们不感兴趣的背景区域。数字图像处理的孔洞填充的公式为:I 为
- 此方法会导致就好像它是在一个<font size="size">标记的字符串显示在规定的大小语法
- 在Python 中使用pip指令安装第三方库
- 以图像处理见长的微软Live实验室,最近发布了一款新作:Pivot。装完启动后的第一印象就是一款浏览器,和IE、FF、Chrome又不太一样
- 最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在
- Go语言中有缓冲的通道(buffered channel)是一种在被接收前能存储一个或者多个值的通道。这种类型的通道并不强制要求 gorou
- 目录创建一个Django项目settings.py项目配置文件urls.py路由系统总结创建一个Django项目创建一个名为project的
- 用了腾讯QQ也有将近十年了,今天心血来潮想模仿腾讯QQ的登陆面板做一个web版的登陆面板,然后参考了一些代码,自己模仿,学写了一个。&nbs
- 前言看了网上许多关于Windows 本地安装mysql的很多教程,基本上大同小异。但是安装软件有时就可能因为一个细节安装失败。我也是综合了很
- 一、前言很多时候,我们都有远程控制电脑的需求。比如正在下载某样东西,需要让电脑在下载完后关机。或者你需要监控一个程序的运行状况等。今天我们就
- 这段时间服务器崩溃2次,一直没有找到原因,今天看到论坛发出的错误信息邮件,想起可能是mysql的默认连接数引起的问题,一查果然,老天,默认
- 尽管现代浏览器已经支持了众多的CSS3属性,但是大部分设计师和开发人员貌似依然在关注于一些很“主流”的属性,如border-radius、b
- 用Python实现批量测试一组url的可用性(可以包括HTTP状态、响应时间等)并统计出现不可用情况的次数和频率等。类似的,这样的脚本可以判
- 如下代码,限制某个函数在某个时间段的调用次数,灵感来源:python装饰器-限制函数调用次数的方法(10s调用一次) 欢迎访问原博客中指定的
- 最近在看《Effective Python》,里面提到判断字符串或者集合是否为空的原则,原文如下:Don't check for e