推荐:10个Python图像处理工具

推荐:10个Python图像处理工具

概述了一些常用的Python库,它们提供了一种简单直观的图像转换方法。

介绍

在我们今天的世界中有很多的数据,而图像是这些数据中的重要组成部分。但是,要使用这些图像,需要对它们进行处理。因此,图像处理是分析和操纵数字图像的过程,主要目的是提高数字图像的质量或从中提取一些信息,然后可以将其用于某种用途。

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

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

1.scikit-image

scikit-image是一个开源Python包,适用于numpy数组。它实现了用于研究、教育和行业应用的算法和实用程序。即使对于那些刚接触Python生态系统的人,它也是一个相当简单直接的库。

资源

有很多例子和实际用例都有很好的都已经文档化了。 User Guide — skimage v0.15.0 docs

用法

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

图像过滤

推荐:10个Python图像处理工具
推荐:10个Python图像处理工具

使用match_template函数进行模板匹配

推荐:10个Python图像处理工具

您可以在图库中找到更多示例。

2.Numpy

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

资源

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

用法

使用Numpy来屏蔽图像。

推荐:10个Python图像处理工具
推荐:10个Python图像处理工具

3.Scipy

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

资源

有关scipy.ndimage包提供的完整功能列表,请参阅此处的文档。 NumPy — NumPy 使用SciPy进行模糊使用高斯滤波器:

推荐:10个Python图像处理工具
推荐:10个Python图像处理工具

4.PIL / Pillow

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

资源

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

用法

使用ImageFilter增强Pillow中的图像:

推荐:10个Python图像处理工具
推荐:10个Python图像处理工具

5.OpenCV-Python

OpenCV(开源计算机视觉库)是计算机视觉应用中使用最广泛的库之一。 OpenCV-Python是OpenCV的python API。 OpenCV-Python不仅速度快,因为后台由用C / C ++编写的代码组成,而且易于编码和部署(由于前端的Python包装器)。这使其成为执行计算密集型计算机视觉程序的绝佳选择。

资源

OpenCV2-Python-指南使您可以轻松开始使用OpenCV-Python。

用法

下面是一个示例,展示了OpenCV-Python在使用金字塔创建一个名为“Orapple”的新水果的图像混合中的功能。

推荐:10个Python图像处理工具

6.SimpleCV

SimpleCV也是一个用于构建计算机视觉应用程序的开源框架。有了它,您可以访问几个高性能的计算机视觉库,如OpenCV,无需首先了解位深度、文件格式、色彩空间等。学习曲线远远小于OpenCV,并且正如他们的标语所说,“计算机视觉变得容易”。一些赞成SimpleCV的观点是:

  • 即使是初学者也可以编写简单的机器视觉测试
  • 摄像机、视频文件、图像和视频流都可以互操作

资源

官方文档很容易理解,并有大量的示例和用例可供遵循。

用法

推荐:10个Python图像处理工具

7.Mahotas

Mahotas是另一个用于Python的计算机视觉和图像处理库。它包含传统的图像处理功能,如过滤和形态学操作,以及用于特征计算的更现代的计算机视觉功能,包括兴趣点检测和局部描述符。该接口使用Python,适用于快速开发,但算法是用C ++实现的,并且针对速度进行了调整。 Mahotas库速度快,代码简洁,依赖性最小。可以在这阅读它们的官方文章 「链接」

资源

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

用法

Mahotas库依赖于使用简单的代码来完成工作。对于“寻找Wally”的问题,Mahotas做得很好,而且代码也很简单。下面是源代码。 Finding Wally — mahotas 1.4.3+git documentation

推荐:10个Python图像处理工具
推荐:10个Python图像处理工具

8.SimpleITK

ITK或Insight Segmentation and Registration Toolkit是一个开源的跨平台系统,为开发人员提供了一整套用于图像分析的软件工具。其中,SimpleITK是一个建立在ITK之上的简化层,旨在促进其在快速原型、教育、解释语言中的使用。 SimpleITK是一个图像分析工具包,具有大量组件,支持一般过滤操作、图像分割和注册。 SimpleITK本身是用C ++编写的,但可用于包括Python在内的大量编程语言。

资源

已经提供了大量的Jupyter笔记本,说明了如何使用SimpleITK进行教育和研究活动。笔记本演示了如何使用SimpleITK进行使用Python和R编程语言的交互式图像分析。

用法

下面的动画是使用SimpleITK和Python创建的严格CT / MR注册过程的可视化。在这里阅读源代码。 Finding Wally — mahotas 1.4.3+git documentation

推荐:10个Python图像处理工具

9.pgmagick

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

资源

有一个专门用于PgMagick的Github存储库,其中有安装和要求的说明。还有关于该主题的详细用户指南。

用法

使用pgmagick执行的图像操作活动很少:

图像缩放:

推荐:10个Python图像处理工具

边缘提取:

推荐:10个Python图像处理工具

10.Pycairo

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

资源

Pycairo GitHub存储库是一个很好的资源,有关于安装和使用的详细说明。还有一个入门指南,其中有一个关于Pycairo的简要教程。

用法

Pycairo绘制线条、基本形状和径向渐梯度

推荐:10个Python图像处理工具

结论

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

Image placeholder
Kian
未设置
  76人点赞

没有讨论,发表一下自己的看法吧

推荐文章
Python程序员进阶必备:从新手到高手的100个模块

在知乎和CSDN的圈子里,经常看到、听到一些python初学者说,学完基础语法后,不知道该学什么,学了也不知道怎么用,一脸的茫然。近日,CSDN的公众号推送了一篇博客,题目叫做《迷思:Python学到

60秒一口Python:147个demo,助你从新手小白步步进阶编程高手

人生苦短,编程苦手,不妨学起Python,感受一飞冲天的快乐。不要害怕学习的过程枯燥无味,这里有程序员jackzhenguo打造的一份中文Python“糖果包”:147个代码小样,60秒一口,营养又好

专业人士必备的10个渗透测试工具

渗透测试,也被称为穿透测试或道德黑客攻击,就像电影《Sneakers》中那样,黑客顾问在攻击者之前侵入你的公司网络,找出弱点。这是一个模拟的网络攻击,pentester使用恶意黑客可用的工具和技术。在

Python 教程-了解Python

什么是Python Python能干什么? 有什么特点? 什么是Python 官方介绍: Python是一个易于学习、功能强大的编程语言。它拥有高效高级的数据结构和一种简单有效的面向对象编程的

Python 教程-Python 安装

在Windows上安装 访问https://www.python.org/downloads/并下载最新版本。在撰写时当前最新是3.8。在安装的时候和其他软件一样,无脑式下一步。需要注意的是如果在W

Python入门教程_2. 使用 Python 解释器

2.1.调用解释器 Python解释器通常安装在目标机器上的/usr/local/bin/python3.7目录下;把/usr/local/bin目录放进你的Unixshell的搜索路径里,确保它可以

Python入门教程_3. Python 简介

在下面的例子中,输入和输出分别由大于号和句号提示符(>>>和...)标注:如果想重现这些例子,就要在解释器的提示符后,输入(提示符后面的)那些不包含提示符的代码行。需要注意的是在练习中遇到的从属提示符

Python入门教程_4. 深入 Python 流程控制

除了刚刚介绍的while语句,Python还有一些在其他语言中常见的控制流语句,并做了一些改动。 4.1.if语句 也许最著名的语句是if语句了。 例如: >>>x=int(input("Please

【python测试开发栈】帮你总结python random模块高频使用方法

随机数据在平时写python脚本时会经常被用到,比如随机生成0和1来控制逻辑、或者从列表中随机选择一个元素(其实抽奖程序也类似,就是从公司所有人中随机选择中奖用户)等等。这篇文章,就帮大家整理在pyt

流畅的Python读书笔记 --- 第一章 Python数据模型

近期开始读“流畅的Python”这本书,想把自己的读书笔记分享给大家,希望能帮到也对这本书感兴趣但是没时间看的各位。(文章中大部分的话和图片摘录总结自“流畅的Python”一书,以及python官方网

【python测试开发栈】帮你总结python time模块高频使用方法

在平时写python脚本时,时间是我们经常用到的数据,比如:时间戳、前端展示的对应格式的时间等,在python中主要有三个和时间处理相关的模块:time、datetime、calendar,这篇文章主

【Python 1-5】Python教程之——字符串

课程推荐:Python开发工程师--学习猿地--送9个上线商业项目 字符串字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号,如下所示:"Thisi

漫谈:Java和Python现在都挺火,我应该怎么选?Java和Python优缺点比较。

课程推荐:Java开发工程师--学习猿地精品课程课程推荐:Python开发工程师--学习猿地精品课程 声明:这是一篇容易引起撕逼的文章,为了祖国和谐,人民安康,请各位看官尽量理性讨论。同时,这篇文章是

PHP 安全问题入门:10 个常见安全问题 + 实例讲解

相对于其他几种语言来说,PHP在web建站方面有更大的优势,即使是新手,也能很容易搭建一个网站出来。但这种优势也容易带来一些负面影响,因为很多的PHP教程没有涉及到安全方面的知识。 此帖子分为几部分

MongoDB初学者最常用的10个命令

1.登录mongodb 以下命令可以用于登录mongodb数据库,但是需要保证用户你声明的数据库中存在对应的用户和密码 mongo--host--port-u-p--authenticationDat

制定灾备计划时要考虑的10个问题

每年的3月31日,世界各地的IT专业人士都会庆祝世界备份日,这引起了全世界对数据备份的重视,设立世界备份日的目的是通过确保实施并遵循备份计划来保护我们的数据。尽管人们已经有这方面的意识,但令人难以置信

在头条和百度搜索了100个关键词之后,我们发现……

作者|闫丽娇苏琦编辑|苏琦• 常用名词搜索方面,百度站外内容占比更高,内容来源比头条更多元。头条搜索的信息流广告目前还没有接入;• 疑问解答类搜索,百度的内容发散性更杂,而头条在信息准确度上更能理解用

关于分析IT系统宕机对业务影响的10个提示

在制定灾难恢复计划时,一个非常重要的任务就是,要确定并想方设法避免潜在的威胁,同时为最坏的情况做准备。业务影响分析(BIA)提供了解决突发事件所需的信息,前提是您要事先做好万全准备。遵循详尽的业务影响

10个超好用的配色网站

01MaterialPalette网站地址:http://www.materialpalette.com/MaterialPalette是一款提供MaterialDesign配色的线上工具,它的用法很

10个HTML和CSS必须知道的重点难点问题

推荐课程:零基础入学、web全栈开发就业班、拿到offer再缴费--融职教育 网页设计自学平台 互联网时代怎能不懂一点设计和代码 1.怎么让一个不定宽高的DIV,垂直水平居中? 使用Flex 只需要在

python自动化测试学习 - Pytest插件之selenium

推荐课程《Python开发工程师--学习猿地精品在线课》今天主要演示Pytest框架的selenium插件。webdriver是主流的UI自动化测试框架,在Pytest的测试框架中也提供了对webdr

InfluxDB 管理工具

配置 vim/etc/influxdb/influxdb.conf[admin] Determineswhethertheadminserviceisenabled. enabled=true The

Composer 镜像管理工具新版本 2.3.0 发布

照例附上项目地址:https://github.com/slince/composer-registr...经过一段时间开发,CRM新版本算是开发完成,在此次版本更新中主要涉及以下:增加镜像归属地功能

容器管理工具 ctop 简介

如果你经常在linux下工作,那你肯定对top以及它的增强版htop非常熟悉。如果说top是管理进程的,而ctop则是管理容器的。安装在centos下安装ctop$wgethttps://github

Composer包管理工具精讲及搭建自己的PHP开发框架笔记

https://www.lmonkey.com/chapters/dvy9p2EKN/tasksComposer包管理工具精讲及搭建自己的PHP开发框架