用python处理图片之打开\\显示\\保存图像的方法
作者:denny402 时间:2021-03-16 11:37:08
一提到数字图像处理,可能大多数人就会想到matlab,但matlab也有自身的缺点:
1、不开源,价格贵
2、软件容量大。一般3G以上,高版本甚至达5G以上。
3、只能做研究,不易转化成软件。
因此,我们这里使用python这个脚本语言来进行数字图像处理。
要使用python,必须先安装python,一般是2.7版本以上,不管是在windows系统,还是linux系统,安装都是非常简单的。
要使用python进行各种开发,就必须安装对应的库。这和matlab非常相似,只是matlab里面叫工具箱(toolbox),而python里面叫库或包。安装这些库,一般都是使用pip来安装。
使用python进行数字图片处理,还得安装Pillow包。虽然python里面自带一个PIL(python images library), 但这个库现在已经停止更新了,所以使用Pillow, 它是由PIL发展而来的。
pip install Pillow
一、图片的打开与显示
from PIL import Image
img=Image.open('d:/dog.png')
img.show()
虽然使用的是Pillow,但它是由PIL fork而来,因此还是要从PIL中进行import. 使用open()函数来打开图片,使用show()函数来显示图片。
这种图片显示方式是调用操作系统自带的图片浏览器来打开图片,有些时候这种方式不太方便,因此我们也可以使用另上一种方式,让程序来绘制图片。
from PIL import Image
import matplotlib.pyplot as plt
img=Image.open('d:/dog.png')
plt.figure("dog")
plt.imshow(img)
plt.show()
这种方法虽然复杂了些,但推荐使用这种方法,它使用一个matplotlib的库来绘制图片进行显示。matplotlib是一个专业绘图的库,相当于matlab中的plot,可以设置多个figure,设置figure的标题,甚至可以使用subplot在一个figure中显示多张图片。matplotlib 可以直接安装
pip install matplotlib
figure默认是带axis的,如果没有需要,我们可以关掉
plt.axis('off')
打开图片后,可以使用一些属性来查看图片信息,如
print img.size #图片的尺寸
print img.mode #图片的模式
print img.format #图片的格式
显示结果为:
(558, 450)
RGBA
PNG
二、图片的保存
img.save('d:/dog.jpg')
就一行代码,非常简单。这行代码不仅能保存图片,还是转换格式,如本例中,就由原来的png图片保存为了jpg图片。
来源:http://www.cnblogs.com/denny402/p/5096001.html
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python 中文乱码问题深入分析
![](https://img.aspxhome.com/file/2023/0/59140_0s.jpg)
python中py文件与pyc文件相互转换的方法实例
![](https://img.aspxhome.com/file/2023/5/72165_0s.png)
Python文本相似性计算之编辑距离详解
![](https://img.aspxhome.com/file/2023/8/86308_0s.png)
python 实现的截屏工具
![](https://img.aspxhome.com/file/2023/5/86215_0s.png)
python处理PHP数组文本文件实例
php mailer类调用远程SMTP服务器发送邮件实现方法
利用后缀表达式(逆波兰式)算24点的JavaScript版算法
索引在Oracle中的应用深入分析
MySQL数据库之UPDATE更新语句精解
Go项目实现优雅关机与平滑重启功能
在ASP.NET 2.0中操作数据之五十五:编辑和删除现有的二进制数据
![](https://img.aspxhome.com/file/2023/3/77173_0s.gif)
Python tkinter库绘制春联和福字的示例详解
![](https://img.aspxhome.com/file/2023/0/95930_0s.png)
Python Django框架中表单的用法详解
![](https://img.aspxhome.com/file/2023/4/80534_0s.png)
bootstrap响应式工具使用详解
python贪吃蛇核心功能实现上
![](https://img.aspxhome.com/file/2023/6/67866_0s.png)
jupyter实现重新加载模块
获取mssql的xml返回结构的方法
Python 中的参数传递、返回值、浅拷贝、深拷贝
pygame游戏之旅 添加icon和bgm音效的方法
![](https://img.aspxhome.com/file/2023/8/87758_0s.png)
详解Python中Sync与Async执行速度快慢对比
![](https://img.aspxhome.com/file/2023/8/92138_0s.png)