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 相关文章推荐
在Linux下调试Python代码的各种方法
Apr 17 Python
简单讲解Python中的闭包
Aug 11 Python
高质量Python代码编写的5个优化技巧
Nov 16 Python
Python内置函数delattr的具体用法
Nov 23 Python
Python如何生成树形图案
Jan 03 Python
Python3 jupyter notebook 服务器搭建过程
Nov 30 Python
python实现列表的排序方法分享
Jul 01 Python
简单的Python调度器Schedule详解
Aug 30 Python
python代码如何实现余弦相似性计算
Feb 09 Python
IntelliJ 中配置 Anaconda的过程图解
Jun 01 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
Jun 28 Python
Python进行区间取值案例讲解
Aug 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
调频问题解答
2021/03/01 无线电
php 常用类整理
2009/12/23 PHP
怎么在Windows系统中搭建php环境
2013/08/31 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
PHP内存溢出优化代码详解
2021/02/26 PHP
使用ExtJS技术实现的拖动树结点
2010/08/05 Javascript
jquery 绑定回车动作扑捉回车键触发的事件
2014/03/26 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
jQuery调取jSon数据并展示的方法
2015/01/29 Javascript
javascript实现的多个层切换效果通用函数实例
2015/07/06 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
Javascript的表单验证长度
2016/03/16 Javascript
jQuery中iframe的操作(点击按钮新增窗口)
2016/04/20 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
jQuery插件DataTables分页开发心得体会
2017/08/22 jQuery
使用3D引擎threeJS实现星空粒子移动效果
2020/09/13 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
20道JS原理题助你面试一臂之力(必看)
2019/07/22 Javascript
解决vue 表格table列求和的问题
2019/11/06 Javascript
python3.3使用tkinter开发猜数字游戏示例
2014/03/14 Python
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
Python设计模式之适配器模式原理与用法详解
2019/01/15 Python
对python中的控制条件、循环和跳出详解
2019/06/24 Python
安全口号大全
2014/06/21 职场文书
学校教师安全责任书
2014/07/23 职场文书
2014年党员自我评议(5篇)
2014/09/12 职场文书
党员“四风”问题批评与自我批评思想汇报
2014/10/06 职场文书
公务员党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
群众路线剖析材料(四风)
2014/11/05 职场文书
法定代表人证明书
2014/11/28 职场文书
2015年度信用社工作总结
2015/05/04 职场文书
项目投资意向书范本
2015/05/09 职场文书
培根随笔读书笔记
2015/07/01 职场文书
《植树问题》教学反思
2016/03/03 职场文书
JavaScript与JQuery框架基础入门教程
2021/07/15 Javascript