服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

十个Python图像处理工具,不可不知!

日期: 来源:CDA数据分析师收集编辑:

来源丨Python宝典  & 小象

这些Python库提供了一种简单直观的方法来转换图像并理解底层数据。

今天的世界充满了数据,图像是这些数据的重要组成部分。但是,在使用它们之前,必须对这些数字图像进行处理 - 分析和操作,以提高其质量或提取一些可以使用的信息。

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

本文着眼于10个最常用的Python库,用于图像处理任务。这些库提供了一种简单直观的方法来转换图像并理解底层数据。

1. scikit-image

scikit-image是一个与NumPy数组一起使用的开源Python包。它实现了用于研究,教育和行业应用的算法和实用程序。它是一个相当简单直接的库,即使对那些不熟悉Python生态系统的人也是如此。代码质量高,经过同行评审,由一个活跃的志愿者社区编写。

资源

scikit-image文档丰富,有很多示例和实际使用方法。

用法

该包通过skimage导入,大多数功能可以在子模块中找到。

图像过滤:


使用match_template函数进行模板匹配:


你可以在gallery中找到更多的例子。

2. NumPy

NumPy是Python编程中的核心库之一,并为数组提供支持。图像本质上是包含数据点像素的标准NumPy数组。因此,通过使用基本的NumPy操作(如slicing,masking和fancy indexing),您可以修改图像的像素值。可以使用 skimage加载图像并使用 Matplotlib显示。

资源

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

用法

使用Numpy来mask图片:


3. SciPy

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

资源

有关scipy.ndimage包所提供的完整功能列表,请参阅文档。

用法

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


4. PIL/Pillow

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

资源

文档包含安装说明以及涵盖库的每个模块的示例。

用法

使用ImageFilter增强Pillow中的图像:


5. OpenCV-Python

OpenCV(Open Source Computer Vision Library)是计算机视觉应用中使用最广泛的库之一。OpenCV-Python是OpenCV的Python API。因为后台由C / C ++编写的代码组成,OpenCV-Python速度很快快,但它也很容易编码和部署(由于前端的Python包装器)。这使其成为执行计算密集型计算机视觉程序的绝佳选择。

资源

通过OpenCV2-Python-Guide可以很容易上手OpenCV-Python

用法

使用OpenCV-Python中的 Image Blending using Pyramids创建一个“Orapple”:


6. SimpleCV

SimpleCV是另一个用于构建计算机视觉应用程序的开源框架。它提供访问几个高性能计算机视觉库,如OpenCV,的接口,但无需了解位深度,文件格式,色彩空间等。它的学习曲线远小于OpenCV,并且(如其标语所示),“它令计算机视觉变得简单。”支持SimpleCV的一些观点是:

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

摄像机,视频文件,图像和视频流都可以互操作

资源

很容易按照官方文档的指导进行操作,并有大量的示例和用例可供遵循。

用法


7. Mahotas

Mahotas是另一个用于Python的计算机视觉和图像处理库。它包含传统的图像处理功能,如过滤和形态操作,以及用于特征计算的更现代的计算机视觉功能,包括兴趣点检测和局部描述符。使用Python编写接口,适用于快速开发,但算法是用C ++实现的,并且针对速度进行了优化。Mahotas库运行快速,代码简约,依赖性小。阅读其官方文章以获得更多了解。

资源

文档包含安装说明,示例,甚至一些教程帮助您轻松开始使用Mahotas。

用法

Mahotas库依靠简单的代码来完成工作。例如,使用最少量的代码Finding Wally问题就可以很好地解决。

解决Finding Wally问题:


8. SimpleITK

ITK(Insight Segmentation and Registration Toolkit)是一个“开源,跨平台系统,为开发人员提供了一套用于图像分析的广泛软件工具。SimpleITK是一个基于ITK构建的简化层,旨在促进其在快速原型设计,交易以及解释语言方面的应用。”它也是一个图像分析工具包,具有大量组件,支持一般过滤操作,图像分割和配准。SimpleITK是用C ++编写的,但它可用包括Python在内的大量编程语言进行操作。

资源

有大量的Jupyter Notebook说明了SimpleITK在教育和研究活动中的应用。Notebooks使用Python和R编程语言演示如何使用SimpleITK进行交互式图像分析。

用法

使用SimpleITK和Python创建可视化的严格CT / MR配准过程:



9. pgmagick

pgmagick是基于Python的GraphicsMagick库的包装器。GraphicsMagick图像处理系统,有时也被称为图像处理的瑞士军刀。其强大而高效的工具和库集合支持在超过88种主要格式(包括DPX,GIF,JPEG,JPEG-2000,PNG,PDF,PNM和TIFF)上读取,写入和操作图像。

资源

pgmagick的GitHub respository有安装说明和要求。还有一个详细的用户指南。

用法

图像缩放:


边缘提取:


10. Pycairo

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

资源

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

用法

用Pycairo绘制线条,基本形状和径向渐变:


结论

这些是Python中一些有用且免费提供的图像处理库。有些是众所周知的,有些可能对你来说是新的。尝试一下它们以了解更多关于它们的信息!



推荐阅读

相关阅读

  • 超预期加息!

  • 声明:本文仅梳理公司和行业的最新基本面,并非在当前时间点推荐买卖公司,本公众号不具备个股操作指导功能,投资有风险,入市需谨慎一、美联储超预期加息北京时间3月7月晚,美联储主席
  • 医药魔方招聘:数据分析师(医药数据方向)

  • 医药魔方成立于2015年,致力于重构医药数据,打破信息不对称壁垒,全面赋能医药行业创新。医药魔方通过“数据+Al”与医药产业深度融合,依托独创的全链条数据标准体系和AI智能技术,
  • 二手房日均成交近300套,澄品一周带看600+!

  • △点击上图,报料购房乱象△钱报美好生活研究院数据显示,上周(2月27日~3月5日)杭州市区二手房成交2058套。3月的第一周,虽然是月初,但成交量仍比上上周的月末还要高7套,也预示着“金
  • “我们聘请 ChatGPT,让它当了一天 ML 工程师”

  • 随着 ChatGPT 的爆火,许多人提出疑问:它究竟是否可以取代人类?于是,面对众说纷纭的答案,本文作者决定:让 ChatGPT 当一天的机器学习工程师,毕竟实践出真理。原文链接:https://encord

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 家里这种“斑点”可能致癌,一定要及时清理

  • 天气越来越热了,空气湿度也越来越大,一些生长在室内角落处的有害生物也开始快速滋生!毒性是砒霜的68倍霉菌——能够引起霉变反应的一种特殊真菌,在自然界中约有3万多种,其中大约
  • 国盛策略 | 国央企估值的过去、现在和未来

  • / 核心观点/前言:继2022年11月首提中国特色估值体系后,关于“中特”估值体系的探索就成了资本市场的重要议题。作为中国特色社会主义经济的支柱性主体,国央企价值重估自然成为
  • 集体狂飙!这8个城市迈入全球第一方阵

  • 轨交500公里,正在成为中国超大城市的标配。据媒体报道,2月27日,重庆5号线北延伸段正式通车,至此重庆城市轨道交通运营里程突破500公里,成为中国第8座轨交500公里俱乐部城市(轨交主
  • 十个Python图像处理工具,不可不知!

  • 来源丨Python宝典 & 小象这些Python库提供了一种简单直观的方法来转换图像并理解底层数据。今天的世界充满了数据,图像是这些数据的重要组成部分。但是,在使用它们之前,必须对
  • 国盛策略 | TMT热度突破前高

  • 报告摘要本期核心观点市场情绪延续回落,成交结构进一步迈向极致化。近期各项情绪指标趋势回落,新高股、强势股、线上股等指标均延续下行,杠杆情绪加速回落;资金面显现小幅回暖迹