python简单图片操作:打开\显示\保存图像方法介绍


Posted in Python onNovember 23, 2017

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

再介绍下图片保存为灰度图的简单操作,非常简单,打开图片并转换成灰度图的方法是:

im = Image.open('a.jpg').convert('L)

转换图像格式:

im.save('aa.gif')

以上代码把a.jpg 打开并转换成灰度图(像素值在0-255之间),然后保存成aa.gif格式。可以把上一行代码中‘aa.gif'改成路径加文件名,就可以保存到自己想要保存的地方了。

总结

以上就是本文关于python简单图片操作:打开\显示\保存图像方法介绍的全部内容,希望对大家有所帮助。有什么问题欢迎留言指出。

Python 相关文章推荐
Python实现删除Android工程中的冗余字符串
Jan 19 Python
python使用正则表达式分析网页中的图片并进行替换的方法
Mar 26 Python
Python实现简单的HttpServer服务器示例
Sep 25 Python
Python多层装饰器用法实例分析
Feb 09 Python
mac下pycharm设置python版本的图文教程
Jun 13 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
Jun 19 Python
python钉钉机器人运维脚本监控实例
Feb 20 Python
python实现列表的排序方法分享
Jul 01 Python
利用Python实现Shp格式向GeoJSON的转换方法
Jul 09 Python
Pytorch加载部分预训练模型的参数实例
Aug 18 Python
关于Python核心框架tornado的异步协程的2种方法详解
Aug 28 Python
python 实现波浪滤镜特效
Dec 02 Python
python分析作业提交情况
Nov 22 #Python
Python分析学校四六级过关情况
Nov 22 #Python
linux环境下的python安装过程图解(含setuptools)
Nov 22 #Python
python使用正则表达式替换匹配成功的组并输出替换的次数
Nov 22 #Python
Python实现的堆排序算法原理与用法实例分析
Nov 22 #Python
Python实现的插入排序算法原理与用法实例分析
Nov 22 #Python
Python实现的选择排序算法原理与用法实例分析
Nov 22 #Python
You might like
apache+php+mysql安装配置方法小结
2010/08/01 PHP
php使用异或实现的加密解密实例
2013/09/04 PHP
php PDO实现的事务回滚示例
2017/03/23 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
VBScript版代码高亮
2006/06/26 Javascript
javascript实现获取cookie过期时间的变通方法
2014/08/14 Javascript
纯javascript实现自动发送邮件
2015/10/21 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
MVC+jQuery.Ajax异步实现增删改查和分页
2020/12/22 Javascript
JS实现颜色的10进制转化成rgba格式的方法
2017/09/04 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
axios取消请求的实践记录分享
2018/09/26 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
JS Ajax请求会话过期处理问题解决方法分析
2019/11/16 Javascript
原生js实现点击按钮复制内容到剪切板
2020/11/19 Javascript
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
Python QTimer实现多线程及QSS应用过程解析
2020/07/11 Python
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
中国跨境电商:Tomtop
2017/03/16 全球购物
酒店保安员岗位职责
2014/01/31 职场文书
后备干部培训方案
2014/05/22 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
乡镇领导班子四风对照检查材料
2014/09/27 职场文书
四风问题党员个人整改措施
2014/10/27 职场文书
学生上课迟到检讨书
2015/01/01 职场文书
人事文员岗位职责
2015/02/04 职场文书
2015年暑期社会实践活动总结
2015/03/27 职场文书
主持稿开场白
2015/06/01 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python
原生Js 实现的简单无缝滚动轮播图的示例代码
2021/05/10 Javascript
Python pygame实现中国象棋单机版源码
2021/06/20 Python
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python
Go归并排序算法的实现方法
2022/04/06 Golang
Redis keys命令的具体使用
2022/06/05 Redis