加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

Python十大工具,让图像简洁直观有魅力!

发布时间:2019-06-26 12:15:17 所属栏目:优化 来源:读芯术
导读:如今,数据遍布各个角落,图像则是数据的重要组成部分。但图像无论有何用途,都要经过处理。因此,图像处理就是对数字图像进行分析、操作的过程,其主要目的是为改善图像质量或从中提取一些有用信息。 图像处理的常见任务包括图像显示、图像基本操作(裁剪
副标题[/!--empirenews.page--]

如今,数据遍布各个角落,图像则是数据的重要组成部分。但图像无论有何用途,都要经过处理。因此,图像处理就是对数字图像进行分析、操作的过程,其主要目的是为改善图像质量或从中提取一些有用信息。

图像处理的常见任务包括图像显示、图像基本操作(裁剪、翻转、旋转等)、图像分割、分类及特征提取、图像修复和图像识别。而Python作为一种科学编程语言已在日渐普及,在生态系统库中还免费提供了许多最为先进的图像处理工具,因此成为了图像处理的最佳选择。

Python十大工具,让图像简洁直观有魅力!

图片来源:Luriko Yamaguchi/Pexels

下面将介绍一些可用于图像处理的常用Python库。

1. scikit Image

scikit-image是Python的一个开源包,将图片作为numpy数组进行处理。它使算法和实用程序得以用于研究、教育和行业应用领域。即便是对不熟悉Python生态环境的人来说,这个库也十分简单明了。此代码由一个活跃的志愿者团队编写,质量很高且已经审阅。

资源:http://scikit-image.org/docs/stable/user_guide.html

用法:该包作为skimage导入,大多数功能都可在子模块找到。例如:

(1) 图像过滤

  1. import matplotlib.pyplot as plt %matplotlib inline 
  2. from skimage import data,filters 
  3. image = data.coins()# ... or any other NumPy array!edges = filters.sobel(image)plt.imshow(edges, cmap='gray') 

Python十大工具,让图像简洁直观有魅力

(2) 使用match_template函数进行模板匹配

Python十大工具,让图像简洁直观有魅力

更多示例传送门: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 npfrom skimage import dataimport matplotlib.pyplot as plt %matplotlib inline 
  2. image = data.camera()type(image) 
  3. numpy.ndarray #Image is a numpy array 
  4. mask = image < 87image[mask]=255plt.imshow(image, cmap='gray') 

Python十大工具,让图像简洁直观有魅力

3. Scipy

和Numpy一样,scipy是Python的另一个核心模块,可用于图像的基本处理和加工。 特别是子模块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()blurred_face = ndimage.gaussian_filter(face, sigma=3)very_blurred = ndimage.gaussian_filter(face, sigma=5) 
  3. #Resultsplt.imshow(<image to be displayed>) 

Python十大工具,让图像简洁直观有魅力

4. PIL/ Pillow

PIL(Python图像处理库)是一个免费的Python编程语言库,支持打开、处理和保存多种格式的图像文件。但它的发展早已停滞不前,最新一次发布还是在2009年。所幸还有Pillow这个积极开发的PIL分支,而且它安装起来更容易,还可以在所有主操作系统上运行,并支持Python 3。该库包含点操作、使用一组内置卷积内核进行图像过滤以及颜色空间转换这些基本的图像处理功能。

资源:https://pillow.readthedocs.io/en/3.1.x/index.html

用处:使用Pillow中的ImageFilter增强图像:

  1. from PIL import Image, ImageFilter#Read imageim = Image.open( 'image.jpg' )#Display imageim.show() 
  2. from PIL import ImageEnhanceImageEnhanceenh = ImageEnhance.Contrast(im)enh.enhance(1.8).show("30% more contrast") 

Python十大工具,让图像简洁直观有魅力

更多资源传送门:http://sipi.usc.edu/database/

5. OpenCV-Python

OpenCV(开源计算机视觉库)是计算机视觉应用中使用最为广泛的库之一。OpenCV-Python是OpenCV的python接口。OpenCV-Python不只是因为后台由用C / C ++编写的代码组成而速度快,还因为前端的Python包装器使得编码和部署容易。因此,它成为了计算密集型计算机视觉程序的绝佳选择。

资源:https://github.com/abidrahmank/OpenCV2-Python-Tutorials

(编辑:威海站长网)

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

热点阅读