用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 读写、创建 文件的方法(必看)
Sep 12 Python
解决python3 urllib中urlopen报错的问题
Mar 25 Python
python 读文件,然后转化为矩阵的实例
Apr 23 Python
Python实现的多项式拟合功能示例【基于matplotlib】
May 15 Python
Linux系统(CentOS)下python2.7.10安装
Sep 26 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
Oct 26 Python
Pyqt QImage 与 np array 转换方法
Jun 27 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
Sep 04 Python
tensorflow 报错unitialized value的解决方法
Feb 06 Python
python能做哪些生活有趣的事情
Sep 09 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
Dec 22 Python
详解使用python爬取抖音app视频(appium可以操控手机)
Jan 26 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 进度条实现代码
2009/03/10 PHP
PHP安全防范技巧分享
2011/11/03 PHP
php计算整个mysql数据库大小的方法
2015/06/19 PHP
tp5.1 框架join方法用法实例分析
2020/05/26 PHP
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
Javascript生成json的函数代码(可以用php的json_decode解码)
2012/06/11 Javascript
jquery设置元素的readonly和disabled的写法
2013/09/22 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
2016/08/01 Javascript
Javascript函数中的arguments.callee用法实例分析
2016/09/16 Javascript
第一次动手实现bootstrap table分页效果
2016/09/22 Javascript
解决JS外部文件中文注释出现乱码问题
2017/07/09 Javascript
vue中axios解决跨域问题和拦截器的使用方法
2018/03/07 Javascript
微信小程序实现长按删除图片的示例
2018/05/18 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
javascript实现弹出层效果
2019/12/10 Javascript
Vue 构造选项 - 进阶使用说明
2020/08/14 Javascript
Python数组定义方法
2016/04/13 Python
python中logging库的使用总结
2017/10/18 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
Flask模板引擎之Jinja2语法介绍
2019/06/26 Python
简单了解python变量的作用域
2019/07/30 Python
Python中的 sort 和 sorted的用法与区别
2019/08/10 Python
python 画函数曲线示例
2019/12/04 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
关于读书的演讲稿800字
2014/08/27 职场文书
小学教师师德师风自我剖析材料
2014/09/29 职场文书
小学班主任评语
2014/12/29 职场文书
财政局个人年终总结
2015/03/03 职场文书
集团财务总监岗位职责
2015/04/03 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
公司客户答谢酒会祝酒词
2015/08/11 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers