python简单图片操作:打开\\显示\\保存图像方法介绍

作者:denny402 时间:2021-03-29 15:52:28 

一提到数字图像处理,可能大多数人就会想到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图片。

再介绍下图片保存为灰度图的简单操作,非常简单,打开图片并转换成灰度图的方法是:


im = Image.open('a.jpg').convert('L)

转换图像格式:


im.save('aa.gif')

以上代码把a.jpg 打开并转换成灰度图(像素值在0-255之间),然后保存成aa.gif格式。可以把上一行代码中‘aa.gif'改成路径加文件名,就可以保存到自己想要保存的地方了。

来源:https://www.cnblogs.com/denny402/p/5096001.html

标签:python,pil,图像操作
0
投稿

猜你喜欢

  • CSS压缩:技巧与工具

    2009-12-11 18:26:00
  • 分析SQL Server中数据库的快照工作原理

    2009-01-19 14:03:00
  • CSS在页面布局中实现div水平居中的方法总结

    2008-06-03 12:09:00
  • Ajax改造:使用Ajax和jQuery改进现有站点

    2010-04-02 12:50:00
  • PyQt5 PySide2 触摸测试功能的实现代码

    2022-06-23 22:22:25
  • python偏函数partial用法

    2023-09-24 22:25:06
  • ASP连接access和mssql数据库的全能代码

    2008-10-12 13:17:00
  • asp内置对象ObjectContext详解

    2007-09-18 13:16:00
  • 网页HTTP header头信息详解

    2010-03-31 14:42:00
  • Python+Turtle绘制幸运草的示例代码

    2023-05-20 13:41:19
  • python pands实现execl转csv 并修改csv指定列的方法

    2022-11-20 01:45:27
  • Python在后台自动解压各种压缩文件的实现方法

    2022-10-04 17:59:59
  • 剑走偏锋:体验ebay的AIR

    2008-11-13 11:51:00
  • 如何在Django项目中引入静态文件

    2021-10-09 11:24:52
  • SQL Server 总结复习 (二)

    2012-10-07 10:35:00
  • 解决jupyter notebook图片显示模糊和保存清晰图片的操作

    2022-08-20 12:53:59
  • Python图像运算之图像掩膜直方图和HS直方图详解

    2023-03-01 03:01:45
  • Python详解argparse参数模块之命令行参数

    2021-06-20 21:16:18
  • asp利用aspjpeg给图片生成PNG透明水印

    2009-03-20 14:01:00
  • sqlserver中如何查询出连续日期记录的代码

    2011-09-30 11:16:56
  • asp之家 网络编程 m.aspxhome.com