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

介绍

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

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

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

1.scikit-image

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

资源

用法

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

图像过滤

使用match_template函数进行模板匹配

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

2.Numpy

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

资源

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

NumPy — NumPy

NumPy — NumPy

用法

使用Numpy来屏蔽图像。

3.Scipy

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

资源

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

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

4.PIL / Pillow

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

资源

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

用法

使用ImageFilter增强Pillow中的图像:

5.OpenCV-Python

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

资源

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

用法

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

6.SimpleCV

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

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

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

资源

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

用法

7.Mahotas

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

「链接」

资源

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

用法

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

Finding Wally — mahotas 1.4.3+git documentation

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

9.pgmagick

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

资源

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

用法

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

图像缩放:

边缘提取:

10.Pycairo

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

资源

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

用法

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

结论

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

如何用python处理图片_推荐:10个Python图像处理工具相关推荐

  1. python编辑器_推荐一款Python编辑器,集Pycharm和Sublime优点于一身的王者

    编程里面的编辑器就像是武林大会里面的高手,每一年都有新秀,黑马出现!比如有练习霸道的天罡之气的榜首Pycharm,力量雄厚霸道战斗力极强,但是对斗气消耗很大,占内存大而且启动速度有点慢!还有练习灵巧的 ...

  2. python 神经网络_推荐 :用Python实现神经网络(附完整代码)!

    Datawhale干货   作者:[美]霍布森·莱恩,科尔·霍华德 在学习神经网络之前,我们需要对神经网络底层先做一个基本的了解.我们将在本节介绍感知机.反向传播算法以及多种梯度下降法以给大家一个全面 ...

  3. Python实战技巧(10)Python解析邮件

    Python实战技巧(1)Python字典类型数据如何递归地通过点'.'的方式访问 Python实战技巧(2)Python的pdb调试代码方法详解 Python实战技巧(3)多版本兼容安装部署(py2 ...

  4. 有趣的python项目 国外_推荐 10 个有趣的Python练手项目

    想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后的大开发项目积攒经验,做好准备. 但不少人都在为开发什么项目而苦恼,因此,我为大家准备了10个 ...

  5. python 适合做什么生意好_推荐 10 个有趣的 Python 练手项目

    想成为一个优秀的Python程序员,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后的大开发项目积攒经验,做好准备. 但不少人都在为开发什么项目而苦恼. 因此,我为大 ...

  6. python有趣小项目源码分析_推荐 10 个有趣的 Python 项目

    想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后的大开发项目积攒经验,做好准备. 但不少人都在为开发什么项目而苦恼,因此,我为大家准备了10个 ...

  7. 适合新手入门的8个python项目_推荐:一个适合于Python新手的入门练手项目

    随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...

  8. node 压缩图片_推荐10个常用的图片处理小帮手(下)「值得收藏」

    作者: semlinker 转发链接:https://mp.weixin.qq.com/s/i3ynTtPJOECoAYfqHFoo3Q 前言 本文给小伙伴们隆重介绍用于图片处理的十个 「" ...

  9. python程序员职业考试_最新10大Python面试常问的问题,60%的人都不会

    Python是个非常受欢迎的编程语言,随着近些年机器学习.云计算等技术的发展,Python的职位需求越来越高.下面我收集了10个Python面试官经常问的问题,供大家参考学习. 类继承 有如下的一段代 ...

最新文章

  1. 【vuejs深入三】vue源码解析之二 htmlParse解析器的实现
  2. 超实用的58个office快捷键汇总,办公室人员必备!
  3. 关于驰骋表单引擎中字段扩展设置对文本框Pop窗体返回值的升级说明 2012/11/13...
  4. ElasticSearch的update_by_query使用
  5. 《荒漠甘泉》4月21日
  6. 百度云 网盘无法下载,错误提示:MSXML组件版本太低
  7. mysql 两张大表关联_MySQL的DropTable影响分析和最佳实践
  8. python做积分_python曲线积分
  9. 对Bat文件进行加密
  10. 3.音视频工作流程分析 — OSD
  11. 如何解决苹果Mac电脑安装PS失败并出现错误代码131 182出现“错误代码107”解决办法
  12. TPS5430正电源转正负电源 低纹波
  13. html文件打开自动跳转至空白
  14. P1629 邮递员送信-dijkstra+反向建边
  15. 马云谈年轻人压力大:年轻人怕压力就白活了
  16. 游戏建模:手绘暗黑小萝莉
  17. 脉冲神经网络克服了类脑计算的硬件障碍,让AI更节能
  18. 推特开发者账号 V2【推特开发者文档V2系列1】——获取推特视频播放量
  19. 《Android App开发进阶与项目实战》出版后记
  20. Thread--线程让步yield

热门文章

  1. win10的11对战平台突然无法启动魔兽
  2. python 编程提高效率_15 个提高效率的 Python 编程技巧
  3. android 下载视频文件怎么打开,安卓手机支付宝文件夹下的视频文件是什么
  4. 理解卡夫卡的初学者指南
  5. 连接Python 3和Electron/Node.JS:构建现代桌面应用程序
  6. 在C#中有效地使用列表作为字典键
  7. odoo10参考系列--视图一(列表视图)
  8. android9开发者模式 s8,Android 9.0或加速Galaxy S8/9电池消耗 谨慎更新
  9. 提取lbp特征java代码_特征提取算法之LBP
  10. python函数的内涵_python内涵段子文章爬取