侵权投诉

Python中最常用十大图像处理库详细介绍

新机器视觉 2019-07-06 11:08 次阅读

本文主要介绍了一些简单易懂最常用的Python图像处理库

当今世界充满了各种数据,而图像是其中高的重要组成部分。然而,若想其有所应用,我们需要对这些图像进行处理。图像处理是分析和操纵数字图像的过程,旨在提高其质量或从中提取一些信息,然后将其用于某些方面。

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

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

1. scikit Image

scikit-image是一个基于numpy数组的开源Python包。 它实现了用于研究、教育和工业应用的算法和实用程序。 即使是对于那些刚接触Python的人,它也是一个相当简单的库。 此库代码质量非常高并已经过同行评审,是由一个活跃的志愿者社区编写的。

使用说明文档:

https://scikit-image.org/docs/stable/user_guide.html

用法举例:图像过滤、模版匹配

可使用“skimage”来导入该库。大多数功能都能在子模块中找到。 

import matplotlib.pyplot as plt%matplotlib inlinefrom skimage import data,filtersimage = data.coins()# ... or any other NumPy array!edges = filters.sobel(image)plt.imshow(edges, cmap='gray')

模版匹配(使用match_template函数)

gallery上还有更多例子。

https://scikit-image.org/docs/dev/auto_examples/

2. Numpy

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

使用说明文档:

http://www.numpy.org/

用法举例:使用Numpy来对图像进行脱敏处理

import numpy as npfrom skimage import dataimport matplotlib.pyplot as plt%matplotlib inlineimage = data.camera()type(image)numpy.ndarray #Image is a numpy arraymask = image < 87image[mask]=255plt.imshow(image, cmap='gray')

3. Scipy

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

使用说明文档:

https://docs.scipy.org/doc/scipy/reference/tutorial/ndimage.html#correlation-and-convolution

用法举例:使用SciPy的高斯滤波器对图像进行模糊处理

from scipy import misc,ndimageface = misc.face()blurred_face = ndimage.gaussian_filter(face, sigma=3)very_blurred = ndimage.gaussian_filter(face, sigma=5)#Resultsplt.imshow()

4. PIL/ Pillow

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

使用说明文档:

https://pillow.readthedocs.io/en/3.1.x/index.html

用法举例:使用ImageFilter增强Pillow中的图像

from PIL import Image, ImageFilter#Read imageim = Image.open( 'image.jpg' )#Display imageim.show()from PIL import ImageEnhanceenh = ImageEnhance.Contrast(im)enh.enhance(1.8).show("30% more contrast")

5. OpenCV-Python

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

使用说明文档:

https://github.com/abidrahmank/OpenCV2-Python-Tutorials

用法举例:使用Pyramids创建一个名为'Orapple'的新水果的功能

6. SimpleCV

SimpleCV也是用于构建计算机视觉应用程序的开源框架。 通过它可以访问如OpenCV等高性能的计算机视觉库,而无需首先了解位深度、文件格式或色彩空间等。学习难度远远小于OpenCV,并且正如他们的标语所说,“ 它使计算机视觉变得简单 ”。支持SimpleCV的一些观点是:

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

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

使用说明文档:

https://simplecv.readthedocs.io/en/latest/

用法举例

7. Mahotas

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

使用说明文档:

https://mahotas.readthedocs.io/en/latest/install.html

用法举例

Mahotas库使用简单的代码来完成工作。 对于“ 寻找Wally ”的问题,Mahotas完成的得很好,而且代码量非常小。

8. SimpleITK

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

使用说明文档:

https://github.com/hhatto/pgmagick

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

用法举例

下面的动画是使用SimpleITK和Python创建的可视化的严格CT / MR配准过程。

9. pgmagick

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

使用说明文档:

https://github.com/hhatto/pgmagick

用法举例:图片缩放、边缘提取

图片缩放

边缘提取

10. Pycairo

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

使用说明文档:

https://github.com/pygobject/pycairo

用法:Pycairo可以绘制线条、基本形状和径向渐变

以上就是一些免费的优秀图像处理Python库。有些很知名,你可能已经知道或者用过,有些可能对你来说还是新的。那正好现在就上手操作一下,试一试吧!

原文标题:Python中的十大图像处理工具

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

使用Python按行读文件的源代码免费下载

本文档的主要内容详细介绍的是使用Python按行读文件的源代码免费下载。
发表于 10-22 17:57 6次 阅读
使用Python按行读文件的源代码免费下载

STM32的backtrace深度讲解(cortex-m的栈布局与栈回溯的原理和方案)

STM32上的backtrace原理与分析 1.说明 2.cortex-m上的栈布局 2.1 cor....
发表于 10-22 15:13 104次 阅读
STM32的backtrace深度讲解(cortex-m的栈布局与栈回溯的原理和方案)

Python核心编程中文第二版PDF电子书免费下载

本书描述了Python程序的基本构件:类型、操作符、语句、函数、模块、类以及异常,介绍了更多高级主题....
发表于 10-22 08:00 11次 阅读
Python核心编程中文第二版PDF电子书免费下载

Python程序设计的复习题资料合集免费下载

本文档的主要内容详细介绍的是Python程序设计的复习题资料合集免费下载。
发表于 10-21 15:18 21次 阅读
Python程序设计的复习题资料合集免费下载

python的re模块详细资料总结

Python 用“ \\\\ ” 表示正则表达式中的“ \ ” ,因为正则表达式中如果要匹配“ \ ....
发表于 10-20 17:33 15次 阅读
python的re模块详细资料总结

使用Python的焊接后处理的详细说明

后处理是数值计算的关键技术之一,是分析数值模型结果以及预测焊接结构和工艺的重要步骤。采用合理方法和思....
发表于 10-20 16:16 17次 阅读
使用Python的焊接后处理的详细说明

数据结构中堆栈出栈序列问题解析

这是工作中遇到的小问题。 数据结构中有一种数据类型堆栈,该结构中的数据项有如下特点: 除了最前面和最....
的头像 39度创意研究所 发表于 10-19 15:46 122次 阅读
数据结构中堆栈出栈序列问题解析

2020年10月编程语言排行榜:Python即将超过Java

来源:菜鸟教程 TIOBE 2020 年 10 月份的编程语言排行榜已经公布,官方的标题是:Pyth....
的头像 inr999 发表于 10-19 11:37 210次 阅读
2020年10月编程语言排行榜:Python即将超过Java

Sapera Vision Software新版本支持AI的Astrocyte图形应用程序

据麦姆斯咨询报道,机器视觉技术的全球领导者Teledyne Technologies公司旗下的Tel....
的头像 MEMS 发表于 10-17 09:46 288次 阅读
Sapera Vision Software新版本支持AI的Astrocyte图形应用程序

使用Python和OpenCV创建Pointillist绘画

  很多人都喜欢绘画技术之一是点画法(pointillism),这是一种绘画技术,其中将细小的不同颜色的点应用于图案中以形成图像。该技...
发表于 10-16 16:50 0次 阅读
使用Python和OpenCV创建Pointillist绘画

人工智能发展的起源

人工智能技术实际上是一个很大的概念。大到像科幻片里的智能机器人,小到我们经常用到的智能手机的指纹识别....
的头像 电子魔法师 发表于 10-16 11:43 763次 阅读
人工智能发展的起源

使用Python的Web爬网提示和技巧

  很多人在搜索机票,发现机票价格在白天波动。因此试图找出最佳的购票时间,但网上没有任何帮助。程序员就会构建了一个小程序...
发表于 10-15 16:08 0次 阅读
使用Python的Web爬网提示和技巧

JFinal的源代码资料合集

JFinal 是基于Java 语言的极速 web 开发框架,其核心设计目标是开发迅速、代码量少、学习....
发表于 10-15 08:00 23次 阅读
JFinal的源代码资料合集

Python的知识手册详细

Python 的创立者,Guido van Rossum,荷兰人。1982 年,Guido 从阿姆斯....
发表于 10-15 08:00 33次 阅读
Python的知识手册详细

Python字符的实例详细说明

本文档的主要内容详细介绍的是Python字符的实例详细说明包括了:Python 转义字符,Pytho....
发表于 10-14 17:13 26次 阅读
Python字符的实例详细说明

为什么一定要学Python 答案太扎心了

今年秋招太难了。毕业生们纷纷表示心酸: 投了100份简历,面试邀请为0;别说大公司了,就连名不见经传....
的头像 玩转单片机 发表于 10-13 17:36 224次 阅读
为什么一定要学Python  答案太扎心了

使用Python实现截取路径中的文件名的实例说明

本文档的主要内容详细介绍的是使用Python实现截取路径中的文件名的实例说明免费下载。
发表于 10-13 16:52 25次 阅读
使用Python实现截取路径中的文件名的实例说明

怎样使用Otsu实现图像分割算法的设计

Otsu算法作为图像分割领域的经典算法得到了广泛的应用,在其基础上发展起来的2维Otsu算法由于运算....
发表于 10-13 16:51 8次 阅读
怎样使用Otsu实现图像分割算法的设计

学习大数据的三个准备及入手点

首先,学习大数据要做好三方面的准备,其一是准备好学习的切入点,其二是为自己构建出一个有效的学习和交流....
的头像 电子魔法师 发表于 10-13 09:53 280次 阅读
学习大数据的三个准备及入手点

谈谈FPGA的图像均衡处理方案

FPGA部分的设计实现注意点 在进行FPGA设计的时候,我们需要主要以下几个方面: 第一:关于图片大小的统一   &...
发表于 10-12 09:59 255次 阅读
谈谈FPGA的图像均衡处理方案

基于Python脚本的R语言的函数

本文介绍了采用创建一个Python脚本,用该脚本模仿R风格的函数的方法来方便地进行统计。 是用R语言....
的头像 39度创意研究所 发表于 10-12 09:33 446次 阅读
基于Python脚本的R语言的函数

Python编辑器pycharm的安装和使用教程

在安装配套的软件之前首先确认系统是否满足要求,操作系统必须是 win7 或者以上且必须是 64 位的....
发表于 10-12 08:00 35次 阅读
Python编辑器pycharm的安装和使用教程

基于FPGA的数字识别和手势数字识别

摄像头之于计算机,就如同眼睛之于人类。我们认识世界,首先就是从像视觉这样的感官开始的。在利用感官获取....
的头像 39度创意研究所 发表于 10-11 11:17 663次 阅读
基于FPGA的数字识别和手势数字识别

集中讨论谷歌、亚马逊等技术巨头使用Python开发关键基础设施的原因

十年前,由于编程语言种类匮乏,开发人员不必苦恼自己应该选择哪一种编程语言;但是现在,世界上正在使用的....
的头像 如意 发表于 10-11 09:51 448次 阅读
集中讨论谷歌、亚马逊等技术巨头使用Python开发关键基础设施的原因

使用Python实现对excel文档去重及求和的方法和代码说明

近期有不少小伙伴在观看咱们扣丁学堂的Python 视频直播课程,在课程结束后有不少的小伙伴询问老师一....
发表于 10-10 17:36 27次 阅读
使用Python实现对excel文档去重及求和的方法和代码说明

Python编程已经走进中小学课堂

在编程世界,关于哪个语言是最好的争论从未停止,虽然道理谁也不服谁,但是关于编程的热度,我们可以从TI....
的头像 机器人及PLC自动化应用 发表于 10-10 17:10 249次 阅读
Python编程已经走进中小学课堂

2020年9月程序员工资最新统计,你了解了吗

链接:https://blog.csdn.net/juwikuang/article/details....
的头像 算法与数据结构 发表于 10-10 17:05 462次 阅读
2020年9月程序员工资最新统计,你了解了吗

如何系统型的学习深度学习?

更要命的是,我发现我一直都是在写算法,从没考虑过如何部署模型,也就是整天纸上谈兵。所以我最近开始学网....
的头像 深度学习自然语言处理 发表于 10-10 10:39 244次 阅读
如何系统型的学习深度学习?

Python程序设计的复习题库资料合集免费下载

本文档的主要内容详细介绍的是Python程序设计的复习题库资料合集免费下载
发表于 10-09 17:57 72次 阅读
Python程序设计的复习题库资料合集免费下载

10个流行的Python库平台

作为开发人员喜爱的语言之一,Python以其丰富的社区可用工具和库而闻名。我们列出了开发人员可以用于....
的头像 新机器视觉 发表于 10-09 16:33 198次 阅读
10个流行的Python库平台

机器视觉在工业市场的应用 基于机器视觉的双目图像采集处理实例

什么是机器视觉 机器视觉是一项综合技术,包括图像处理、机械工程技术、控制、电光源照明、光学成像、传感....
的头像 39度创意研究所 发表于 10-09 16:01 353次 阅读
机器视觉在工业市场的应用 基于机器视觉的双目图像采集处理实例

四个有趣的关于Python 3.9版本新特性

四个有趣的关于Python 3.9版本新特性
的头像 如意 发表于 10-08 14:47 745次 阅读
四个有趣的关于Python 3.9版本新特性

Linux备份方案 rdiff-backup 为Python 3提供了多种新功能

这个老牌 Linux 备份方案迁移到了 Python 3 提供了添加许多新功能的机会。
的头像 如意 发表于 10-08 14:39 179次 阅读
Linux备份方案 rdiff-backup 为Python 3提供了多种新功能

盘点10个一行强大的、有趣的Python源代码

Python是一门非常简洁而优美的编程语言,在其他编程语言中需要繁琐的代码逻辑才能完成的事情,往往在....
的头像 如意 发表于 10-08 14:33 420次 阅读
盘点10个一行强大的、有趣的Python源代码

关于深度学习的边缘和轮廓的提取工作

边缘和轮廓的提取是一个非常棘手的工作,细节也许就会被过强的图像线条掩盖,纹理(texture)本身就....
发表于 10-07 15:23 191次 阅读
关于深度学习的边缘和轮廓的提取工作

怎么样使用灰度熵合成样本块实现图像修复的算法详细资料说明

图像修复时需要利用已知信息修补图像中的缺失部分,同时要求取得较快的修复速度。为此,提出基于平均灰度熵....
发表于 09-30 17:29 57次 阅读
怎么样使用灰度熵合成样本块实现图像修复的算法详细资料说明

Python进行配置文件的教程免费下载

本文档的主要内容详细介绍的是Python进行配置文件的教程免费下载。
发表于 09-30 16:41 32次 阅读
Python进行配置文件的教程免费下载

Python在人工智能领域为什么如此受欢迎?

人工智能已成为我们日常生活不可或缺的一部分,它被广泛地应用到几百种实际场景中,极大地便利人们的工作和....
的头像 电子魔法师 发表于 09-30 11:09 363次 阅读
Python在人工智能领域为什么如此受欢迎?

微带天线设计-Python与HFSS联合仿真

我们知道HFSS是一款电磁仿真商用软件,用其进行天线的设计十分方便。而该软件也预留了可以运行脚本的接口,使用者可以使用脚...
发表于 09-30 10:35 202次 阅读
微带天线设计-Python与HFSS联合仿真

Python为什么那么受欢迎?

21世纪,不会Python等于文盲。 这句流行语并非夸张,《2020年职场学习趋势报告》显示,在20....
的头像 悟空智能科技 发表于 09-30 10:11 287次 阅读
Python为什么那么受欢迎?

Python的知识点总结详细说明

本文档的主要内容详细介绍的是Python的知识点总结详细说明。
发表于 09-29 17:13 40次 阅读
Python的知识点总结详细说明

基于System Generator处理图像

有做System Generator处理图像的吗?遇到一些问题,一起商量下 ...
发表于 09-28 19:04 21次 阅读
基于System Generator处理图像

基于FPGA的实时图像处理仿真实验方案实现

对CMOS图像传感器采集图像过程中的噪声预处理问题,提出一种在FPGA中实现的可配置的自适应加权均值....
的头像 39度创意研究所 发表于 09-27 16:42 965次 阅读
基于FPGA的实时图像处理仿真实验方案实现

关于Python的5种高级特征应用

本文主要讲解 Python 的 5 种高级特征,以及它们的用法。 1. Lambda 函数 Lamb....
的头像 39度创意研究所 发表于 09-27 15:56 308次 阅读
关于Python的5种高级特征应用

python学习:三个测试库的装饰器实现思路

在 Python 中实现参数化测试的几个库,并留下一个问题: 它们是如何做到把一个方法变成多个方法,....
的头像 39度创意研究所 发表于 09-27 11:44 776次 阅读
python学习:三个测试库的装饰器实现思路

华为自主研发编程语言事件分析

据微博博主@IT工程师 称,华为正在研发新的自主编程语言仓颉,领头人是南京大学的计算机科学与技术系博....
的头像 算法与数据结构 发表于 09-26 09:31 434次 阅读
华为自主研发编程语言事件分析

如何用Python编写macOS的基本键盘记录器

  键盘记录器可能是要在计算机上使用的比较多的。不幸的是,这种程序通常被很好地隐藏起来,并且常常被受害者完全检测不到。键...
发表于 09-25 18:20 101次 阅读
如何用Python编写macOS的基本键盘记录器

JN5189开发板试用---一种基于dongle(协调器)对开关插座类设备的压测方法

(因为字数有限制,插图不易,详情步骤可看附件,这里简述主要步骤思想,附件有python 代码和截图步骤,详细解析等等环境:JN...
发表于 09-24 21:08 0次 阅读
JN5189开发板试用---一种基于dongle(协调器)对开关插座类设备的压测方法

使用文件保存游戏的python代码和资料说明

本文档的主要内容详细介绍的是使用文件保存游戏的python代码和资料说明免费下载。
发表于 09-24 17:08 31次 阅读
使用文件保存游戏的python代码和资料说明

Python新手们,快把算法练起来

为什么练习算法是关键? 如果你是Python新手,并且打算面试顶尖公司(FAANG),听着,你需要从....
的头像 数据分析与开发 发表于 09-24 16:10 309次 阅读
Python新手们,快把算法练起来

根据需求,新手学Python用什么编辑器比较好?

新手学Python用什么编辑器比较好?工欲善其事必先利其器,选好工具学习更高效。市面上流行的编辑器众....
的头像 如意 发表于 09-24 15:13 253次 阅读
根据需求,新手学Python用什么编辑器比较好?

VisionPro项目组成简介

VisionPro工具封装了视觉算法与用户交互界面,toolGroup与toolBlock提供了组合....
的头像 新机器视觉 发表于 09-24 13:17 283次 阅读
VisionPro项目组成简介

机器视觉在工业上的需求

主要阅读书籍《工程光学》、重点放在几何光学方面,了解成像原理及相应的光路分析,知道光源的特性、镜头分....
的头像 新机器视觉 发表于 09-24 12:47 278次 阅读
机器视觉在工业上的需求

HALCON项目应该使用哪种主机语言的观点

编程语言的选择对于公司来说是一个战略和长期的决策。这很难在一篇文章中详细解释。我们将尽最大努力强调C....
的头像 新机器视觉 发表于 09-24 11:18 305次 阅读
HALCON项目应该使用哪种主机语言的观点

计算机视觉的实现基本过程

计算机视觉的理念在某些方面其实与很多概念有部分重叠,包括:人工智能、数字图像处理、机器学习、深度学习....
的头像 新机器视觉 发表于 09-24 10:49 262次 阅读
计算机视觉的实现基本过程

图像处理的应用及图像处理研究工具

21世纪是刷脸的时代,这一点无可厚非。首先是银行,据说重庆的银行已经使用了人脸识别的验证系统来进行辅....
的头像 新机器视觉 发表于 09-24 10:35 358次 阅读
图像处理的应用及图像处理研究工具

Python在实时嵌入式系统开发中的主要应用

由于Python有强大的社区支持,且是一款比容易入门的脚本语言,因此一些非IT领域的人都选它作为入门....
的头像 STM32嵌入式开发 发表于 09-23 10:55 744次 阅读
Python在实时嵌入式系统开发中的主要应用

Python中的线性编程:直接教程分享

  线性编程是最常见的优化技术之一。它具有广泛的应用范围,并且经常用于运筹学,工业设计,计划等,并且还在不断增加。Pytho...
发表于 09-11 17:55 101次 阅读
Python中的线性编程:直接教程分享

为鸿蒙适配APP要用什么开发语言?!

开发鸿蒙的应用要用什么开发语言?Java?C++?JavaScript? ...
发表于 09-11 11:55 255次 阅读
为鸿蒙适配APP要用什么开发语言?!

鸿蒙开源后,大家愿意为开源贡献而学习一个新语言吗?

鸿蒙系统要上线了,虽然为国产的系统能上线了很高兴,但是想想又要学习一门新的语言还是挺头疼的,也不知道新语言难不难,方向是...
发表于 09-10 10:42 212次 阅读
鸿蒙开源后,大家愿意为开源贡献而学习一个新语言吗?