加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Python中的十大图像处理工具

发布时间:2019-06-10 22:25:20 所属栏目:建站 来源:大数据文摘
导读:大数据文摘出品 编译:张秋玥、小七、蒋宝尚 本文主要介绍了一些简单易懂最常用的Python图像处理库。 当今世界充满了各种数据,而图像是其中高的重要组成部分。然而,若想其有所应用,我们需要对这些图像进行处理。图像处理是分析和操纵数字图像的过程,旨
副标题[/!--empirenews.page--]

Python中的十大图像处理工具

大数据文摘出品

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

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

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

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

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

1. scikit Image

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

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

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

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

  1. import matplotlib.pyplot as plt 
  2. %matplotlib inline 
  3. from skimage import data,filters 
  4. image = data.coins() 
  5. # ... or any other NumPy array! 
  6. edges = filters.sobel(image) 
  7. 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显示。

使用说明文档:http://www.numpy.org/

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

  1. import numpy as np 
  2. from skimage import data 
  3. import matplotlib.pyplot as plt 
  4. %matplotlib inline 
  5. image = data.camera() 
  6. type(image) 
  7. numpy.ndarray #Image is a numpy array 
  8. mask = image < 87 
  9. image[mask]=255 
  10. 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的高斯滤波器对图像进行模糊处理

  1. from scipy import misc,ndimage 
  2. face = misc.face() 
  3. blurred_face = ndimage.gaussian_filter(face, sigma=3) 
  4. very_blurred = ndimage.gaussian_filter(face, sigma=5) 
  5. #Results 
  6. plt.imshow(<image to be displayed>) 

Python中的十大图像处理工具

4. PIL/ Pillow

PIL (Python Imaging Library)是一个免费的Python编程语言库,它增加了对打开、处理和保存许多不同图像文件格式的支持。 然而,它的发展停滞不前,其最后一次更新还是在2009年。幸运的是, PIL有一个正处于积极开发阶段的分支Pillow,它非常易于安装。Pillow能在所有主要操作系统上运行并支持Python 3。该库包含基本的图像处理功能,包括点操作、使用一组内置卷积内核进行过滤以及颜色空间转换。

使用说明文档:https://pillow.readthedocs.io/en/3.1.x/index.html

用法举例:使用ImageFilter增强Pillow中的图像

  1. from PIL import Image, ImageFilter 
  2. #Read image 
  3. im = Image.open( 'image.jpg' ) 
  4. #Display image 
  5. im.show() 
  6. from PIL import ImageEnhance 
  7. enh = ImageEnhance.Contrast(im) 
  8. enh.enhance(1.8).show("30% more contrast") 

Python中的十大图像处理工具

5. OpenCV-Python

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读