用python处理图片之打开\显示\保存图像的方法


Posted in Python onMay 04, 2018

一提到数字图像处理,可能大多数人就会想到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

用python处理图片之打开\显示\保存图像的方法

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图片。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中的sort方法使用详解
Jul 25 Python
跟老齐学Python之传说中的函数编写条规
Oct 11 Python
Python简单进程锁代码实例
Apr 27 Python
python 读入多行数据的实例
Apr 19 Python
好的Python培训机构应该具备哪些条件
May 23 Python
基于DataFrame改变列类型的方法
Jul 25 Python
Python在图片中插入大量文字并且自动换行
Jan 02 Python
python f-string式格式化听语音流程讲解
Jun 18 Python
Python字典底层实现原理详解
Dec 18 Python
基于Python的OCR实现示例
Apr 03 Python
Python如何获取文件指定行的内容
May 27 Python
快速解决pymongo操作mongodb的时区问题
Dec 05 Python
Python 创建空的list,以及append用法讲解
May 04 #Python
浅谈python中字典append 到list 后值的改变问题
May 04 #Python
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
May 04 #Python
对python中的pop函数和append函数详解
May 04 #Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
May 04 #Python
对python append 与浅拷贝的实例讲解
May 04 #Python
浅谈Python中重载isinstance继承关系的问题
May 04 #Python
You might like
php 生成唯一id的几种解决方法
2013/03/08 PHP
PHP实现递归复制整个文件夹的类实例
2015/08/03 PHP
php远程下载类分享
2016/04/13 PHP
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
详解Yii2 定制表单输入字段的标签和样式
2017/01/04 PHP
再论Javascript下字符串连接的性能
2011/03/05 Javascript
解决Extjs4中form表单提交后无法进入success函数问题
2013/11/26 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
简介JavaScript中valueOf()方法的使用
2015/06/05 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
Web前端框架bootstrap实战【第一次接触使用】
2016/12/28 Javascript
vue实现消息的无缝滚动效果的示例代码
2017/12/05 Javascript
React从react-router路由上做登陆验证控制的方法
2018/05/10 Javascript
NestJs 静态目录配置详解
2019/03/12 Javascript
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
微信小程序动态添加view组件的实例代码
2019/05/23 Javascript
[40:48]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第二局
2016/02/28 DOTA
numpy添加新的维度:newaxis的方法
2018/08/02 Python
django解决订单并发问题【推荐】
2019/07/31 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
Django Docker容器化部署之Django-Docker本地部署
2019/10/09 Python
Python 模拟动态产生字母验证码图片功能
2019/12/24 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
2020/07/07 Python
基于python tkinter的点名小程序功能的实例代码
2020/08/22 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
爱情保证书范文
2014/02/01 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
事业单位考核材料
2014/05/21 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
人力资源管理专业自荐信
2014/06/24 职场文书
基层党员干部四风问题整改方向和措施
2014/09/25 职场文书
社区灵活就业证明
2014/11/03 职场文书
Java内存模型之happens-before概念详解
2021/06/13 Java/Android
python获取字符串中的email
2022/03/31 Python