用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实现读取文件最后n行的方法
Feb 23 Python
Python使用Matplotlib实现雨点图动画效果的方法
Dec 23 Python
python opencv之SURF算法示例
Feb 24 Python
浅谈numpy数组中冒号和负号的含义
Apr 18 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
Jun 26 Python
python实现彩票系统
Jun 28 Python
python3 实现对图片进行局部切割的方法
Dec 05 Python
python中的decimal类型转换实例详解
Jun 26 Python
Python hmac模块使用实例解析
Dec 24 Python
将tf.batch_matmul替换成tf.matmul的实现
Jun 18 Python
Python抓包并解析json爬虫的完整实例代码
Nov 03 Python
OpenCV灰度化之后图片为绿色的解决
Dec 01 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&java(一)
2006/10/09 PHP
UCenter 批量添加用户的php代码
2012/07/17 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
php面试实现反射注入的详细方法
2019/09/30 PHP
javascript实现可改变滚动方向的无缝滚动实例
2013/06/17 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
2014/04/02 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
2015/03/13 Javascript
使用PHP+JavaScript将HTML页面转换为图片的实例分享
2016/04/18 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
浅谈JavaScript 中有关时间对象的方法
2016/08/15 Javascript
nodejs连接mysql数据库简单封装示例-mysql模块
2017/04/10 NodeJs
Angular2 组件通信的实例代码
2017/06/23 Javascript
npm全局模块卸载及默认安装目录修改方法
2018/05/15 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
Vue项目安装插件并保存
2019/01/28 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
2019/04/10 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
[00:33]2016完美“圣”典风云人物:BurNIng宣传片
2016/12/10 DOTA
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
最大K个数问题的Python版解法总结
2016/06/16 Python
python如何在循环引用中管理内存
2018/03/20 Python
简单实现python数独游戏
2018/03/30 Python
Flask中endpoint的理解(小结)
2019/12/11 Python
基于html5 DeviceOrientation 实现微信摇一摇功能
2015/09/25 HTML / CSS
俄罗斯Sportmarket体育在线商店:用于旅游和户外活动
2019/11/12 全球购物
Booking.com亚太地区:Booking.com APAC
2020/02/07 全球购物
自我评价是什么
2014/01/04 职场文书
小孩百日宴答谢词
2014/01/15 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
县政协领导班子群众路线教育实践活动四风问题整改方案
2014/10/26 职场文书
学校运动会通讯稿
2015/07/18 职场文书
导游词之淮安明祖陵
2019/11/25 职场文书
python和Appium的移动端多设备自动化测试框架
2022/04/26 Python
python数字图像处理数据类型及颜色空间转换
2022/06/28 Python
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS