Python中十大免费的优秀图像处理工具

作者:网友投稿 时间:2019-06-10 16:34

字号

Python中十大免费的优秀图像处理工具

大数据文摘出品

编译:张秋玥、小七、蒋宝尚

本文主要介绍了一些简单易懂最常用的Python图像处理库。

当今世界充满了各种数据,而图像是其中高的重要组成部分。然而,若想其有所应用,我们需要对这些图像进行处理。图像处理是分析和操纵数字图像的过程,旨在提高其质量或从中提取一些信息,然后将其用于某些方面。

图像处理中的常见任务包括显示图像,基本操作(如裁剪、翻转、旋转等),图像分割,分类和特征提取,图像恢复和图像识别等。 Python之成为图像处理任务的最佳选择,是因为这一科学编程语言日益普及,并且其自身免费提供许多最先进的图像处理工具。

让我们看一下用于图像处理任务的一些常用Python库。

1. scikit Image

scikit-image是一个基于numpy数组的开源Python包。 它实现了用于研究、教育和工业应用的算法和实用程序。 即使是对于那些刚接触Python的人,它也是一个相当简单的库。 此库代码质量非常高并已经过同行评审,是由一个活跃的志愿者社区编写的。

使用说明文档:https://scikit-image.org/docs/stable/user_guide.html

用法举例:图像过滤、模版匹配

可使用“skimage”来导入该库。大多数功能都能在子模块中找到。

import matplotlib.pyplot as plt 

%matplotlib inline 

from skimage import data,filters 

image = data.coins() 

# ... or any other NumPy array! 

edges = filters.sobel(image) 

plt.imshow(edges, cmap='gray'

Python中十大免费的优秀图像处理工具

模版匹配(使用match_template函数)

Python中十大免费的优秀图像处理工具

gallery上还有更多例子。

https://scikit-image.org/docs/dev/auto_examples/

2. Numpy

Numpy是Python编程的核心库之一,支持数组结构。 图像本质上是包含数据点像素的标准Numpy数组。 因此,通过使用基本的NumPy操作——例如切片、脱敏和花式索引,可以修改图像的像素值。 可以使用skimage加载图像并使用matplotlib显示。

使用说明文档:

用法举例:使用Numpy来对图像进行脱敏处理

import numpy as np 

from skimage import data 

import matplotlib.pyplot as plt 

%matplotlib inline 

image = data.camera() 

type(image) 

numpy.ndarray #Image is a numpy array 

mask = image < 87 

image[mask]=255 

plt.imshow(image, cmap='gray'

Python

3. Scipy

scipy是Python的另一个核心科学模块,就像Numpy一样,可用于基本的图像处理和处理任务。值得一提的是,子模块scipy.ndimage提供了在n维NumPy数组上运行的函数。 该软件包目前包括线性和非线性滤波、二进制形态、B样条插值和对象测量等功能。

使用说明文档:

https://docs.scipy.org/doc/scipy/reference/tutorial/ndimage.html#correlation-and-convolution

用法举例:使用SciPy的高斯滤波器对图像进行模糊处理

from scipy import misc,ndimage 

face = misc.face() 

blurred_face = ndimage.gaussian_filter(face, sigma=3

very_blurred = ndimage.gaussian_filter(face, sigma=5

#Results 

plt.imshow(<image to be displayed>

Python中十大免费的优秀图像处理工具

4. PIL/ Pillow

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接