6.12. 图像处理

未匹配的标注

file

大多数图像处理和操作技术可以使用两个库进行有效的处理:Python Imaging Library (PIL) 和 OpenSource Computer Vision (OpenCV)。

下面来简单介绍一下这两个库。

Python 图像库#

Python 图像库 , 全称为 Python Imaging Library,简称 PIL,是 Python 图像操作的核心库之一。遗憾的是,PIL 的开发工作已经停滞,最新版本发行于 2009 年(PIL 1.1.7,译者注)。

幸运的是,有一个积极维护 PIL 分支,名为 Pillow —— 它容易安装,支持全平台运行并且支持 Python 3。

安装 Pillow#

在安装 Pillow 之前,你需要安装 Pillow 的前置需求。针对你所使用平台的相关指导可以参阅 Pillow installation instructions.

安装完成之后,直接执行:

$ pip install Pillow

使用举例#

from PIL import Image, ImageFilter
#读取图像文件
im = Image.open( 'image.jpg' )
#展示图像文件
im.show()

#在图像上应用滤镜
im_sharp = im.filter( ImageFilter.SHARPEN )
#保存已处理图像到新文件
im_sharp.save( 'image_sharpened.jpg', 'JPEG' )

#分离图像波段(band),即RGB模式的红、绿、蓝波段
r,g,b = im_sharp.split()

#查看图像中嵌入的EXIF信息
exif_data = im._getexif()
exif_data

关于 Pillow 库的更多示例请参阅 Pillow 指南.

开源计算机视觉#

OpenSource Computer Vision,通常被称为 OpenCV,是一个比 PIL 更先进的图像操作和处理程序。OpenCV 被多种语言实现并广泛使用。

安装 OpenCV#

在 Python 中,通过 cv2NumPy 两个模块执行使用 OpenCV。在 OpenCV 安装指南中可以指导你如何在自己的项目中进行配置。

NumPy 可以通过 Python Package Index(PyPI)下载安装:

$ pip install numpy

示例#

import cv2
#读取图像
img = cv2.imread('testimg.jpg')
#显示
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

#对图像应用灰阶过滤
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

#保存过滤后的新文件
cv2.imwrite('graytest.jpg',gray)

更多关于 OpenCV 的 Python 实现例子尽在 教程集

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/python-guide/20...

译文地址:https://learnku.com/docs/python-guide/20...

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~