c++ opencv图像中选择点显示点的坐标_Python干货之10个图像处理库简介

44ec8eb2f8e3f4887086d59b7355642c.png

图像处理是分析和处理数字图像的必要的过程,而Python作为一种科学编程语言越来越受欢迎,而且在其生态系统中有许多最先进的图像处理工具可以免费使用。本文整理了10个常用的图像处理库说明及官方网站,用以了解和深入学习图像处理,觉得有用可以收藏备用。

1、PIL/Pillow

60795a4430c975606abcb862ce786e9b.png

PIL(Python Imaging Library)是一个免费的Python编程语言库,它提供了基本的图像处理功能,如:改变图像大小,旋转图像,图像格式转换,色场空间转换,图像增强,直方图处理,插值和滤波等。不过PIL在2009年就停止了维护,仅支持到Python 2.7。幸运的是,Pillow是一个积极开发的PIL分支,它更易于安装,可在所有主要操作系统上运行,并支持Python 3。该库包含基本图像处理功能,包括点操作,使用一组内置卷积内核进行过滤以及颜色空间转换。

官网:Python Pillow

2.NumPy

eafc9ee295e81c8ac39ceb747deaead6.png

Numpy是Python编程中的核心库之一,提供对数组的支持。图像本质上是一个包含数据点像素的标准Numpy数组。因此,通过使用基本的NumPy操作,如图像读取与裁剪、通道分离、颜色变换、灰阶转换、图像卷积、 图像分割索引,我们可以修改图像的像素值。可以使用skimage加载图像,并使用matplotlib显示图像。

官网: http://www. numpy.org/

3.SciPy

93d331500dbae147f89369b454f9c603.png

SciPy是Python的另一个核心科学模块,有很多子模块可以完成不同的操作,如傅里叶变换、插值运算、优化算法和数学统计等。类似于Numpy,scipy可用于基本的图像处理和处理任务。特别是子模块 scipy.ndimage。提供在n维NumPy数组上操作的函数。

官网:SciPy.org - SciPy.org

4. scikit Image

18ead79068939b2f11172367091798a8.png

scikit-image是一个开源的Python包,可以使用 numpy 数组。它实现了用于研究、教育和工业应用的算法和实用程序。它是一个相当简单和直接的库,即使对于Python生态系统的新手也是如此。它的代码质量很高,经过许多同行审查,并由一个活跃的志愿者社区编写。

官网:Image processing in Python

5.OpenCV-Python

81f62063728a3eec2971366d555647dd.png

bac72ff4d1ddf3993ca2114a4445db39.png

OpenCV(开源计算机视觉库)是计算机视觉领域应用最广泛的开源工具包,基于C/C++,支持Linux/Windows/MacOS/Android/iOS,并提供了Python,Matlab和Java等语言的接口。OpenCV-Python是OpenCV的Python API。OpenCV-Python不仅速度快,因为后台由用C/C ++编写的代码组成,但它也很容易编程和部署(由于前端的Python包装器)。这使其成为执行计算密集型计算机视觉程序的绝佳选择。而其中的imgproc图像处理模块,提供了图像相关的基础功能(滤波,梯度,改变大小等),以及一些衍生的高级功能(图像分割,直方图,形态分析和边缘/直线提取等)。

官网:Home - OpenCV

6.SimpleCV

bde9dd21eff11f3fea017af205505849.png

SimpleCV是另一个用于构建计算机视觉应用程序的开源框架。它可以访问几个高性能计算机视觉库,如OpenCV,但无需了解位深度,文件格式,色彩空间等。它的学习曲线远小于OpenCV,并且就像它的口号"让计算机视觉变得简单",支持SimpleCV的一些观点是:即使是初学者也可以编写简单的机器视觉测试;摄像机,视频文件,图像和视频流都可以互操作。

官网:SimpleCV

7.Mahotas

5987f86f65087486b5bbb94670190b73.png

Mahotas是另一个用于Python的计算机视觉和图像处理库。它包含传统的图像处理功能,如过滤和形态操作,以及用于特征计算的更现代的计算机视觉功能,包括兴趣点检测和局部描述符。Mahotas的库具有简单的代码甚至最小的依赖性,目前拥有100多个图像处理和计算机视觉功能,一些示例如下:

  • watershed
  • convex points calculations.
  • hit & miss. thinning
  • Zernike & Haralick, local binary patterns, and TAS features.
  • morphological processing
  • Speeded-Up Robust Features (SURF), a form of local features
  • thresholding
  • convolution.
  • Sobel edge detection
参考网站:Mahotas: Computer Vision in Python

8.SimpleITK

43718de3c6909c7147f0c9d28e2fb53a.png

ITK 或者 Insight Segmentation and Registration Toolkit是一个开源的跨平台系统,为开发人员提供了一套广泛的图像分析软件工具 。SimpleITK是ITK的简化接口,使用起来更加方便,有多种语言接口。SimpleITK是专门处理医学影像的软件,在SimpleITK中,图像的概念与我们在计算机视觉中常用的RGB图像差异很大,后者只是一个多维矩阵,是一个数学上的概念,而在SimpleITK中,图像是一种物理实体,图像中的每一个像素都是物理空间中的一个点,不光有着像素值,还有着坐标,间距,方向等概念。

参考网站:SimpleITK Sphinx Documentation

9.Pgmagick

bcfc5b6f98e6ddb466ef9dfc75da9d5a.png

Pgmagick是GraphicsMagick库的一个基于python的包装器。图像处理系统有时被称为图像处理的瑞士军刀。它提供了一个健壮而高效的工具和库集合,支持以88种主要格式(包括重要格式,如DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF)读取、写入和操作图像。Pgmagick可以进行的图像处理活动不是很多,一般用于图像缩放或者边缘提取。

官网: https:// pythonhosted.org/pgmagi ck/

10.Pycairo

ec6fe5d4be070fd3e298a6114e9e8ca3.png

Pycairo是一组用于Cairo图形库的Python绑定。Cairo是一个用于绘制矢量图形的2D图形库。矢量图形很有趣,因为它们在调整大小或变换时不会失去清晰度。Pycairo可以从Python调用Cairo命令。Pycairo主要用来绘制线条、基本形状和径向梯度。

官网: https://www. cairographics.org/pycai ro/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值