龙8国际娛乐网页

常用的十大 python 图像处理工具

龙8国际网页版

十大常用python图像处理工具

c71d31dce198449eb8930a11c520cfec.jpeg

本文是由AI Research

10个Python图像处理工具。

作者| Parul Pandey

翻译| Angelo Joel,JimmyHua

编辑|王立宇

原始链接:

0baf9a8df3304b77bbd97dd1eb9d7397.jpeg

图片由Pexels的Luriko Yamaguchi提供

今天,在我们的世界里充满了数据,图像成为这些数据的重要组成部分。但无论出于何种目的,都需要处理这些图像。图像处理是分析和处理数字图像的过程,主要是为了提高其质量或从中提取一些信息,然后可以将其用于某些目的。

图像处理中的常见任务包括显示图像,诸如裁剪,翻转,旋转等基本操作,图像分割,分类和特征提取,图像恢复和图像识别。 Python是这种图像处理任务的合适选择,因为它作为一种科学编程语言变得越来越流行,许多最先进的图像处理工具在其生态系统中免费提供。

我们来看看可以在图像处理任务中使用的常见Python库。

1.scikit图像

Scikit-image是一个用于numpy数组的开源Python包。它为研究,教育和工业应用实现算法和实用程序。即使是那些不熟悉Python生态系统的人也是一个相当简单的库。此代码由积极的志愿者社区编写,具有高质量和同行评审的性质。

资源

该文档包含大量示例和实际用例,请阅读以下文档:

使用

该包作为skimage导入,大多数功能都在子模块中找到。以下是一些滑雪的例子:

图像过滤

d59278e1926547aa873ef8d51f336fea.png

a0f11280fb894697846e87dc5ea54980.jpeg

使用match_template函数进行模板匹配

d04a7361f59c48b2a04ba677121dd940.jpeg

您可以在此处查看图库,找到更多示例。

2. Numpy

Numpy是Python编程的核心库之一,并为数组提供支持。图像本质上是包含数据点像素的标准Numpy数组。因此,我们可以使用基本的NumPy操作(如切片,蒙版和花式索引)来修改图像的像素值。您可以使用skimage加载图像并使用matplotlib显示图像。

资源

Numpy的官方文档页面提供了完整的资源和文档列表:

使用

使用Numpy来掩盖图像。

0e8007b0ff8a440993f92773de2cd0a1.png

0e3d70a914bf4a8baf31be852b1f9813.jpeg

3.Scipy

插值和对象测量。

资源

有关scipy.ndimage软件包提供的完整功能列表,请参阅以下链接:

使用

使用SciPy使用高斯滤波器进行模糊:

5a56bc4ab96a495594268dda527062db.png

c6b39c05aeca4e4b9218ce1293a1f5fd.jpeg

4. PIL/Pillow

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

资源

文档中有安装说明,以及涵盖库的每个模块的示例:

使用

使用Pillow中的ImageFilter增强图像:

ef77b04526a543bda2242f6cd71a325c.png

fcd05dffc7a14a3481a3ca35731ea3cf.jpeg

5. OpenCV-Python

OpenCV(开源计算机视觉库)是计算机视觉应用中使用最广泛的库之一。 OpenCV-Python是OpenCV API的Python版本。 OpenCV-Python的优点不仅高效,而且因为它的内部组成是用C/C ++编写的,而且它易于编写和部署(因为前端是用Python包装的)。这使其成为执行计算密集型计算机视觉程序的良好选择。

资源

OpenCV-Python-Guide指南使OpenCV-Python更容易使用:

使用

下面是OpenCV-Python如何使用金字塔方法创建一个名为“Orapple”的新水果图像融合的示例。

dc769f5384c643d588d9856c75ebaa2c.jpeg

6. SimpleCV

SimpleCV也是用于构建计算机视觉应用程序的开源框架。有了它,您可以访问多个高性能计算机视觉库,例如OpenCV,而无需学习位深度,文件格式,色彩空间等。

它的学习曲线远小于OpenCV,因为他们的口号是“计算机视觉变得简单”。支持SimpleCV的一些想法是:

即使是初学者也可以编写简单的机器视觉测试

相机,视频文件,图像和视频流可互操作

资源

官方文档非常易于理解,并且有大量示例和用例需要学习:

使用

a9d6db6abe2d4894a975cffa21d091b0.jpeg

7. Mahotas

Mahotas是另一个用于计算机视觉和图像处理的Python库。它包括传统的图像处理功能,如过滤和形态学操作,以及用于特征计算的更现代的计算机视觉功能,包括兴趣点检测和局部描述符。该接口是Python语言,适合快速开发,但该算法采用C语言实现,并根据速度进行调整。 Mahotas库快速,代码密集,甚至最低限度依赖。阅读他们在原版中的官方文章,以获得更多的理解。

资源

该文档包括安装说明,示例和一些可以帮助您开始使用mahotas的教程。

使用

Mahotas库依赖于使用简单的代码来完成任务。关于“寻找Wally”的问题,Mahotas用很少的代码做得很好。这是源代码:

73721521ba96444b87edbe0c3d970c81.jpeg

1bc01a0bbf81428193b4d764a980221e.jpeg

8. SimpleITK

ITK或Insight Segmentation and Registration Toolkit是一个开源的跨平台系统,为开发人员提供各种图像分析软件工具。其中,SimpleITK是一个基于ITK的简化层,旨在促进其在快速原型,教育和解释语言中的应用。 SimpleITK是一个图像分析工具包,包含许多支持一般过滤操作,图像分割和匹配的组件。 SimpleITK本身是用C ++编写的,但可用于大多数编程语言,包括Python。

资源

大量的Jupyter笔记本显示SimpleITK已被用于教育和研究。 Notebook展示了使用SimpleITK进行Python和R编程语言的交互式图像分析。

使用

下面的动画是使用SimpleITK和Python创建的严格CT/MR匹配过程的可视化。点击这里查看源代码!

85a2aedd6132421bb15f1ca50c0fdd88.jpeg

9. pgmagick

Pgmagick是GraphicsMagick库的基于python的包装器。 GraphicsMagick图像处理系统有时被称为用于图像处理的瑞士军刀。它提供了强大而高效的工具和库集合,支持88种主要格式的读取,写入和编辑,包括DPX,GIF,JPEG,JPEG-2000,PNG,PDF,PNM和TIFF等重要格式。操作图像。

资源

有一个专门用于PgMagick的Github库,其中包含安装和需求说明。还有一个详细的用户指南:

使用

可以使用pgmagick执行的图像处理活动非常少,例如:

图像缩放

d5d6e167458b401999db222f68125577.jpeg

边缘提取

c1c097991dd64f68a003c16fb48c7165.jpeg

10. Pycairo

Pycairo是一组用于图像处理库cairo的Python包。 Cairo是一个用于绘制矢量图形的2D图形库。矢量图形很有趣,因为它们在调整大小或转换时不会失去清晰度。 Pycairo是一组可用于从Python调用cairo命令的cairo绑定。

资源

Pycairo的GitHub库是一个很好的资源,包含有关安装和使用的详细说明。还有一本入门指南,附有关于Pycairo的简短教程。

图书馆:

指南:

使用

,基本形状和径向渐变:

135853a20164443d9ada5609399c10a5.png

总结

有一些有用且免费的Python图像处理库可供使用,其中一些是众所周知的,有些可能对您来说是新的,请尝试更多地了解它们。

注意:本文的内容改编自作者之前在opensource.com上的文章。雷锋网雷锋网雷锋网

想继续查看本文的链接和参考文献?

单击[常用十大python图像处理工具]进行访问:

今天的资源推荐:

90406d07fbf44e3b82fd1d0175e8f9b3.png

收集49个Python学习资源!作者将其分为四种形式:1。用于编程和Python的初学者资源; 2.为那些希望将Python知识库应用于数据科学和Web开发的人提供的高级资源;为希望了解Python和大数据概念的人提供高级资源; 4.最后,最重要的练习计划可以帮助您快速练习和巩固Python技能。

,查看更多