用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中使用socket发送HTTP请求数据接收不完整问题解决方法
Feb 04 Python
python实现发送和获取手机短信验证码
Jan 15 Python
python模拟表单提交登录图书馆
Apr 27 Python
python实现电子产品商店
Feb 26 Python
Pytorch反向求导更新网络参数的方法
Aug 17 Python
浅谈pytorch torch.backends.cudnn设置作用
Feb 20 Python
如何理解Python中包的引入
May 29 Python
python numpy库np.percentile用法说明
Jun 08 Python
python实现将中文日期转换为数字日期
Jul 14 Python
详解numpy.ndarray.reshape()函数的参数问题
Oct 13 Python
基于注解实现 SpringBoot 接口防刷的方法
Mar 02 Python
pandas中关于apply+lambda的应用
Feb 28 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学习笔记 IIS7下安装配置php环境
2012/10/29 PHP
php中有关合并某一字段键值相同的数组合并的改进
2015/03/10 PHP
Laravel 5 框架入门(三)
2015/04/09 PHP
PHP实现RTX发送消息提醒的实例代码
2017/01/03 PHP
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
2010/12/02 Javascript
更优雅的事件触发兼容
2011/10/24 Javascript
Javascript中Event属性搜集整理
2013/09/17 Javascript
javascript上传图片前预览图片兼容大多数浏览器
2013/10/25 Javascript
简单的Jquery遮罩层代码实例
2013/11/14 Javascript
js判读浏览器是否支持html5的canvas的代码
2013/11/18 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
详解JavaScript异步编程中jQuery的promise对象的作用
2016/05/03 Javascript
JavaScript数据操作_浅谈原始值和引用值的操作本质
2016/08/23 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
JS使用正则实现去掉字符串左右空格的方法
2016/12/27 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
[01:02:46]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
带你了解python装饰器
2017/06/15 Python
python Django中models进行模糊查询的示例
2019/07/18 Python
Python对象的属性访问过程详解
2020/03/05 Python
python help函数实例用法
2020/12/06 Python
CSS3实现多样的边框效果
2018/05/04 HTML / CSS
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
护理学院专科毕业生求职信
2014/06/28 职场文书
餐饮服务员岗位职责
2015/02/09 职场文书
小学家长意见怎么写
2015/06/03 职场文书
荒岛余生观后感
2015/06/09 职场文书
运动会通讯稿50字
2015/07/20 职场文书
会计实训总结范文
2015/08/03 职场文书
小学英语课教学反思
2016/02/15 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers
ElementUI实现el-form表单重置功能按钮
2021/07/21 Javascript
python字符串的一些常见实用操作
2022/04/06 Python