Python中的十大图像处理工具

2023-06-04 0 621

Python中的十大图像处理工具

源 /大统计数据 文 /Parul Pandey

编者按:责任编辑主要如是说了很多单纯简练最常用的Python绘图库。

当今充满著了各式各样统计数据,而影像是当中高的关键关键组成部分。不过,若要其略有应用领域,他们须要对那些影像进行处置。绘图是预测和操纵者数字影像的操作过程,意在提升其产品质量或由此抽取很多关键信息,接着将其用作这类各方面。

绘图中的常用各项任务主要包括表明影像,INS13ZD(如上色、滑动、转动等),影像拆分,展开分类和求逆,影像恢复和影像识别等。Python之正式成为绘图各项任务的最差优先选择,原因在于而此自然科学C语言日渐普及化,因此其另一各方面完全免费提供更多很多最一流的绘图辅助工具。

让他们看呵呵用作绘图各项任务的很多常用Python库。

01 scikit Image

scikit-image是两个如前所述numpy字符串的开放源码Python包。 它同时实现了用作科学研究、基础教育和轻工业应用领域的演算法和程序库。 即便是对那些刚碰触Python的人,它也是两个十分单纯的库。 此库标识符产品质量十分高并已经过南埃尔普评审委员,是由两个活耀的义工街道社区撰写的。

采用表明文件格式:

https://scikit-image.org/docs/stable/user_guide.html

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

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

import matplotlib.pyplot as

 plt

%matplotlib inline

fromskimageimport

 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/

02 Numpy

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

采用表明文件格式:

http://www.numpy.org/

用法举例:采用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 arraymask = image < 87image[mask]=255plt.imshow(image, cmap=gray

)

Python中的十大图像处理工具

03 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

)

#Resultsplt.imshow(<image to be displayed>)

Python中的十大图像处理工具

04 PIL/ Pillow

PIL(Python Imaging Library)是两个完全免费的PythonC语言库,它增加了对打开、处置和保存很多不同影像文件格式的支持。 不过,它的发展停滞不前,其最后一次更新还是在2009年。幸运的是, PIL有两个正处于积极开发阶段的分支Pillow,它十分易于安装。

Pillow能在所有主要操作系统上运行并支持Python 3。该库包含基本的绘图功能,主要包括点操作、采用一组内置卷积内核展开过滤以及颜色空间转换。

使用表明文件格式:

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

用法举例:采用ImageFilter增强Pillow中的影像

from PIL import

Image, ImageFilter

#Read imageim = Image.open( image.jpg

 )

#Display image

im.show()

from PIL import

ImageEnhance

enh = ImageEnhance.Contrast(im)

enh.enhance(1.8).show(“30% more contrast”

)

Python中的十大图像处理工具

05 OpenCV-Python

OpenCV( 开放源码计算机视觉库,Open Source Computer Vision Library)是计算机视觉应用领域中采用最广泛的库之一。OpenCV-Python是OpenCV的python API。

OpenCV-Python不仅速度快(因为后台由用C / C ++撰写的标识符组成),也易于编码和部署(由于前端的Python包装器)。 这使其正式成为执行计算密集型计算机视觉程序的绝佳优先选择。

采用表明文件格式:

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

用法举例:采用Pyramids创建两个名为Orapple的新水果的功能

Python中的十大图像处理工具

06 SimpleCV

SimpleCV也是用作构建计算机视觉应用领域程序的开放源码框架。 通过它可以访问如OpenCV等高性能的计算机视觉库,而无需首先了解位深度、文件格式或色彩空间等。学习难度远远小于OpenCV,因此正如他们的标语所说,“ 它使计算机视觉变得单纯 ”。支持SimpleCV的很多观点是:

即便是初学者也可以撰写单纯的机器视觉测试

摄像机、视频文件、影像和视频流都可以交互操作

采用表明文件格式:

https://simplecv.readthedocs.io/en/latest/

用法举例

Python中的十大图像处理工具

07 Mahotas

Mahotas是另两个用作Python的计算机视觉和绘图库。 它包含传统的绘图功能(如滤波和形态学操作)以及用作特征计算的更现代的计算机视觉功能(主要包括兴趣点检测和局部描述符)。该接口采用Python,适用作快速开发,但演算法是用C ++同时实现的,因此针对速度展开了优化。

Mahotas库运行很快,它的标识符很单纯,(对其它库的)依赖性也很小。建议阅读他们的官方文件格式以了解更多内容。

采用表明文件格式:

https://mahotas.readthedocs.io/en/latest/install.html

用法举例

Mahotas库采用单纯的标识符来完成工作。 对“ 寻找Wally ”的问题,Mahotas完成的得很好,而且标识符量十分小。

Python中的十大图像处理工具Python中的十大图像处理工具

08 SimpleITK

ITK(Insight Segmentation and Registration Toolkit)是两个开放源码的跨平台系统,为开发人员提供更多了一整套用作影像预测的软件辅助工具。 当中, SimpleITK是两个建立在ITK之上的简化层,意在促进其在快速原型设计、基础教育以及脚本语言中的采用。

SimpleITK是两个包含大量组件的影像预测辅助工具包,支持一般的过滤操作、影像拆分和配准。SimpleITK本身是用C++撰写的,但可用作主要包括Python在内的大量C语言。

采用表明文档:

https://github.com/hhatto/pgmagick

这里有大量表明了如何采用SimpleITK展开基础教育和科学研究活动的Jupyter notebook。notebook中演示了如何采用SimpleITK展开采用Python和RC语言的交互式影像预测。

用法举例

下面的动画是采用SimpleITK和Python创建的可视化的严格CT / MR配准操作过程。

Python中的十大图像处理工具

09 pgmagick

pgmagick是GraphicsMagick库如前所述Python的包装器。GraphicsMagick 绘图系统有时被称为绘图的瑞士军刀。它提供更多了强大而高效的辅助工具和库集合,支持超过88种主要格式影像的读取、写入和操作,主要包括DPX,GIF,JPEG,JPEG-2000,PNG,PDF,PNM和TIFF等关键格式。

采用表明文件格式:

https://github.com/hhatto/pgmagick

用法举例:图片缩放、边缘抽取

Python中的十大图像处理工具

▲图片缩放

Python中的十大图像处理工具

▲边缘抽取

10 Pycairo

Pycairo是图形库cairo的一组python绑定。Cairo是两个用作绘制矢量图形的2D图形库。 矢量图形很有趣,因为它们在调整大小或进行变换时不会降低清晰度。Pycairo库可以从Python调用cairo命令。

采用表明文件格式:

https://github.com/pygobject/pycairo

用法举例:Pycairo可以绘制线条、基本形状和径向渐变

Python中的十大图像处理工具

以上就是很多完全免费的优秀绘图Python库。有些很知名,你可能已经知道或者用过,有些可能对你来说还是新的。那正好现在就上手操作呵呵,试一试吧!

相关报道:

https://towardsdatascience.com/image-manipulation-tools-for-python-6eb0908ed61f

-END-

转载声明:责任编辑选自「大统计数据」。

重磅推出全新学习模式

用打卡学Python

每天30分钟

30天学会Python编程

Python中的十大图像处理工具

世界正在奖励坚持学习的人!

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务