概述了一些常用的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 — NumPyNumPy — 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程序员职业考试_最新10大Python面试常问的问题,60%的人都不会

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

  2. python国内书籍推荐_这些都是Python官方推荐的最好的书籍

    转行学Python有前途吗?这个答案是肯定的,AI课程都已经进入小学教材了,未来Python趋势无疑是光明的,但是如何学习Python,很多Python小白都来问小编有什么适合的Python入门书籍推 ...

  3. python统计学书籍推荐_推荐 | 统计数据分析挖掘书单呈现

    给大家推荐一些统计.分析.挖掘书籍,推荐语包括购买地址后面慢慢在补充.大家有好的书籍也可以推荐,持续连载中..封面这个本书也非常给力,31位作者合力写的,到时候也给大家推荐下. 统计学 <看穿一 ...

  4. python零基础书推荐_零基础学习Python(Python初学者、Python入门)常见问题:资料、社区、书籍推荐...

    Python web开发 QQ学习群:338985564 ,欢迎各位加入,一起学习. 本文针对零基础的,想学习Python者.本文会不定时更新. 一.学会使用搜索引擎,尤其是Google. 推荐阅读文 ...

  5. python image 转成字节_(推荐)谈谈Python生态圈图像格式转换问题:含实例解析

    今天为大家带来的内容是:(推荐)谈谈Python生态圈图像格式转换问题:含实例解析 天气冷了,码字手都不利索了!先哈一哈气,各位也要多穿衣服注意保暖哈.话不多说,就直接进入主题了. 在Python生态 ...

  6. 手机python利器能做什么_推荐一款开发利器!既能写Python,又能写Java

    PyDev:鼠标悬浮在一个类上时会自动显示该类的定义 PyDev:代码分析 它还可以让你选择Python.Jython和IronPython等不同的Python实现进行编程. 总的来说,基于 Ecli ...

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

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

  8. python最好用的助手_推荐5款好用的Python工具

    这篇文章的内容是给大家推荐了5款好用的Python工具,有需要的朋友可以看一看 摘要:推荐5个酷毙的Python工具 工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python社区提供了足 ...

  9. python开发环境推荐_推荐一款Python开发环境管理神器

    在 Python 开发中,有些情况下,我们可能面临在一台机器上同时安装多版本Python的需求.比如: 有多个Python项目,每个项目依赖不同的Python版本. 有一个Python项目,它需要同时 ...

最新文章

  1. tomcat启动停在Initializing Spring root WebApplicationContext
  2. python 第三方包自动导入_7行代码,彻底告别python第三方包import导入问题!
  3. 在布局空间标注的尺寸量不对_卫生间最佳布局尺寸,合理布局做到1毫米都不浪费!...
  4. swift 拖动按钮_Swift - 单元格滑动按钮库SwipeCellKit使用详解1(基本用法)
  5. Bailian3719 学生信息用qsort排序【排序+字符串库函数】
  6. oracle约束 1或0,Oracle笔记(十) 约束
  7. Cisco ASA Web ××× 配置详解
  8. matlab 绘制一个二维正弦曲线(repmat)
  9. 计算机基础知识总结(一)
  10. Android 利用Canvas实现双指拖动和双指缩放图片
  11. [趣谈网络协议学习] 07 ICMP与ping:投石问路的侦察兵
  12. 【node】------node连接mongodb操作数据库------【巷子】
  13. ROS 清理log文件
  14. LDIFDE试验全记录
  15. LeetCode - Solved Algorithms
  16. 服务器win2003的远程在哪里,走进win2003远程桌面的神奇世界
  17. (附源码)spring boot网上商品定制系统 毕业设计 180915
  18. 菜鸟初学freenas
  19. 【面向监狱编程】反编译任何微信小程序,以及独立分包、插件的处理方式
  20. 文献综述参考文献的格式说明

热门文章

  1. WPS中插入表格,每个单元格自动编号问题解决
  2. java验证码识别库
  3. nfs服务器哪个版本稳定,NFS V3与各个版本间的比较
  4. 融合会计服务与金融服务,银账通造福千万小微企业!
  5. 界面功能分析——微信6.7.3 与最新版微信7.0.2
  6. 有道云笔记 Markdown 中如何引用自己的图片不用开通会员的办法(之前网友提到使用图片的分享链接失效后的又一办法)
  7. 杂谈:软件问价多少钱?
  8. java字符转对象,Java将字符串转换为对象
  9. java视频下载网址
  10. 小程序群发短信,借助云开发5行代码实现短信群发功能