用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的常见命令注入威胁
Feb 18 Python
python根据经纬度计算距离示例
Feb 16 Python
详解在Python程序中使用Cookie的教程
Apr 30 Python
Python之list对应元素求和的方法
Jun 28 Python
对python修改xml文件的节点值方法详解
Dec 24 Python
python查询文件夹下excel的sheet名代码实例
Apr 02 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
Aug 05 Python
python文件绝对路径写法介绍(windows)
Dec 25 Python
Python通过VGG16模型实现图像风格转换操作详解
Jan 16 Python
Django之富文本(获取内容,设置内容方式)
May 21 Python
idea2020手动安装python插件的实现方法
Jul 17 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
Oct 15 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模板函数 正则实现代码
2012/10/15 PHP
php四种基础算法代码实例
2013/10/29 PHP
PHP模拟asp.net的StringBuilder类实现方法
2015/08/08 PHP
Laravel框架实现利用监听器进行sql语句记录功能
2018/06/06 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
js url传值中文乱码之解决之道
2009/11/20 Javascript
javascript call方法使用说明
2010/01/11 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
2015/05/09 Javascript
解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
2015/12/10 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
2016/06/06 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
如何在vue中使用ts的示例代码
2018/02/28 Javascript
微信小程序嵌入腾讯视频源过程详解
2019/08/08 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
2020/11/03 Javascript
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
python如何实现一个刷网页小程序
2018/11/27 Python
Python实现读取txt文件中的数据并绘制出图形操作示例
2019/02/26 Python
Python叠加两幅栅格图像的实现方法
2019/07/05 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
2020/01/08 Python
python变量的作用域是什么
2020/05/26 Python
pandas 数据类型转换的实现
2020/12/29 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
普通大学毕业生自荐信
2013/11/04 职场文书
中文专业求职信
2014/06/20 职场文书
党员群众路线自我剖析材料
2014/10/06 职场文书
应聘教师求职信范文
2015/03/20 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
百年校庆感言
2015/08/01 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书