首页 > 编程 > Python > 正文

python图像常规操作

2020-02-16 10:39:55
字体:
来源:转载
供稿:网友

使用python进行基本的图像操作与处理

前言:

与早期计算机视觉领域多数程序都是由 C/C++ 写就的情形不同。随着计算机硬件速度越来越快,研究者在考虑选择实现算法语言的时候会更多地考虑编写代码的效率和易用性,而不是像早年那样把算法的执行效率放在首位。这直接导致近年来越来越多的研究者选择 Python 来实现算法。

今天在计算机视觉领域,越来越多的研究者使用 Python 开展研究,所以有必要去学习一下十分易用的python在图像处理领域的使用,这篇博客将会介绍如何使用Python的几个著名的图像处理库完成最基本的图像操作与处理。

使用PIL进行基本图像操作

PIL简介:

PIL(Python Imaging Library Python,图像处理类库)提供了通用的图像处理功能,以及大量有用的基本图像操作,比如图像缩放、裁剪、旋转、颜色转换等。

PIL读取与存储图像:

利用 PIL 中的函数,我们可以从大多数图像格式的文件中读取数据,然后写入最常见的图像格式文件中。PIL 中最重要的模块为 Image 。

下面这个程序我使用PIL读取一张jpg图片将其灰度化之后存为一个png文件:

# -*- coding: utf-8 -*-from PIL import Imageimport os#打开图像得到一个PIL图像对象img = Image.open("./source/test.jpg")#将其转为一张灰度图img = img.convert('L')#存储该张图片try:  img.save("test.png")except IOError:  print "cannot convert"

Test.jpg

Test.png

PIL生成缩略图:

# -*- coding: utf-8 -*-from PIL import Imageimport os#打开图像得到一个PIL图像对象img = Image.open("./source/test.jpg")#创建最长边为128的缩略图img.thumbnail((128,128))#存储该张图片try:  img.save("test.png")except IOError:  print "cannot convert"

Test.png

PIL调整尺寸与旋转:

# -*- coding: utf-8 -*-from PIL import Imageimport os#打开图像得到一个PIL图像对象img = Image.open("./source/test.jpg")#修改图片大小,参数为一元组img = img.resize((100,200))#使图片逆时针选择45度img = img.rotate(45)#存储该张图片try:  img.save("test.png")except IOError:  print "cannot convert"

Test.png

PIL复制粘贴图像区域:

# -*- coding: utf-8 -*-# -*- coding: utf-8 -*-from PIL import Imageimport os#打开图像得到一个PIL图像对象img = Image.open("./source/test.jpg")#从img中裁剪指定区域region = img.crop((300,300,500,500))#使裁剪部分逆时针选择145度region = region.rotate(145)#将该区域粘贴至指定区域img.paste(region,(100,100,300,300));#存储该张图片try:  img.save("test.png")except IOError:  print "cannot convert"            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表