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 相关文章推荐
Pthon批量处理将pdb文件生成dssp文件
Jun 21 Python
python转换字符串为摩尔斯电码的方法
Jul 06 Python
Django自定义分页效果
Jun 27 Python
Python实现的中国剩余定理算法示例
Aug 05 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
Mar 22 Python
python多进程实现文件下载传输功能
Jul 28 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
Feb 25 Python
python实现弹窗祝福效果
Apr 07 Python
Python threading.local代码实例及原理解析
Mar 16 Python
python 写函数在一定条件下需要调用自身时的写法说明
Jun 01 Python
python中复数的共轭复数知识点总结
Dec 06 Python
ASP.NET Core中的配置详解
Feb 05 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
PHP判断图片格式的七种方法小结
2013/06/03 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
2016/10/14 PHP
js setattribute批量设置css样式
2009/11/26 Javascript
js中将String转换为number以便比较
2014/07/08 Javascript
js闭包的用途详解
2014/11/09 Javascript
javascript几个易错点记录
2014/11/26 Javascript
原生javascript实现隔行换色
2015/01/04 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
2015/07/27 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
Vue.js实现移动端短信验证码功能
2017/03/29 Javascript
Angular4学习笔记之新建项目的方法
2017/07/18 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
jQuery实现模糊查询的方法分析
2018/05/10 jQuery
小程序登录/注册页面设计的实现代码
2019/05/24 Javascript
jquery实现吸顶导航效果
2020/01/08 jQuery
Javascript原型链及instanceof原理详解
2020/05/25 Javascript
Vue + Element-ui的下拉框el-select获取额外参数详解
2020/08/14 Javascript
浅析我对JS延迟异步脚本的思考
2020/10/12 Javascript
Pandas统计重复的列里面的值方法
2019/01/30 Python
详解Python字典的操作
2019/03/04 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
python的数学算法函数及公式用法
2020/11/18 Python
一篇文章教你用python画动态爱心表白
2020/11/22 Python
canvas绘制图片drawImage使用方法
2020/09/15 HTML / CSS
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
Yves Rocher捷克官方网站:植物化妆品的创造者
2019/07/31 全球购物
客户服务经理岗位职责
2014/01/29 职场文书
普通大学毕业生自荐信范文
2014/02/23 职场文书
学生安全承诺书
2014/05/22 职场文书
大一工商管理职业生涯规划:有梦最美,行动相随
2014/09/18 职场文书
大卫科波菲尔读书笔记
2015/06/30 职场文书
2015年语言文字工作总结
2015/07/23 职场文书
公司财务管理制度
2015/08/04 职场文书
HTML+CSS+JS实现图片的瀑布流布局的示例代码
2021/04/22 HTML / CSS
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python