用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中常见的数据类型小结
Aug 29 Python
Python与Java间Socket通信实例代码
Mar 06 Python
Python中创建字典的几种方法总结(推荐)
Apr 27 Python
Python中装饰器兼容加括号和不加括号的写法详解
Jul 05 Python
浅谈使用Python变量时要避免的3个错误
Oct 30 Python
Python实现模拟登录网易邮箱的方法示例
Jul 05 Python
pandas使用apply多列生成一列数据的实例
Nov 28 Python
详解Python打包分发工具setuptools
Aug 05 Python
python读取图像矩阵文件并转换为向量实例
Jun 18 Python
Python实现快速大文件比较代码解析
Sep 04 Python
如何通过python实现IOU计算代码实例
Nov 02 Python
Python 随机按键模拟2小时
Dec 30 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
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
PHP在Web开发领域的优势
2006/10/09 PHP
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
学习php设计模式 php实现模板方法模式
2015/12/08 PHP
php生成图片缩略图功能示例
2017/02/22 PHP
php实现的生成排列算法示例
2019/07/25 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
js关闭模态窗口刷新父页面或跳转页面
2012/12/13 Javascript
Android中资源文件(非代码部分)的使用概览
2012/12/18 Javascript
jQuery实现瀑布流的取巧做法分享
2015/01/12 Javascript
JavaScript通过select动态更换图片的方法
2015/03/23 Javascript
浅谈javascript 函数表达式和函数声明的区别
2016/01/05 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
2016/01/26 Javascript
javascript汉字拼音互转的简单实例
2016/10/09 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
部署vue+Springboot前后端分离项目的步骤实现
2020/05/31 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
使用简单工厂模式来进行Python的设计模式编程
2016/03/01 Python
使用python对文件中的数值进行累加的实例
2018/11/28 Python
在unittest中使用 logging 模块记录测试数据的方法
2018/11/30 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
Python3直接爬取图片URL并保存示例
2019/12/18 Python
pytorch数据预处理错误的解决
2020/02/20 Python
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
澳大利亚优质葡萄酒专家:Vintage Cellars
2019/01/08 全球购物
人力资源部培训专员岗位职责
2014/01/02 职场文书
互联网创业计划书的书写步骤
2014/01/28 职场文书
基督教婚礼主持词
2014/03/14 职场文书
化学专业自荐信
2014/05/28 职场文书
化验室岗位职责
2015/02/14 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书
老公写给老婆的检讨书
2015/05/06 职场文书
抢劫罪辩护词
2015/05/21 职场文书
辅导员学期工作总结
2015/08/14 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书