pg电子网站源码分享(pg电子论坛)

大家好,如果您还对pg电子网站源码分享不太了解,没有关系,今天就由本站为大家分享pg电子网站源码分享的知识,包括pg电子论坛的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

以下提到的这些Python工具在编辑图像、操作图像底层数据方面都提供了简单直接的方法。

–ParulPandey

当今的世界充满了数据,而图像数据就是其中很重要的一部分。但只有经过处理和分析,提高图像的质量,从中提取出有效地信息,才能利用到这些图像数据。

常见的图像处理操作包括显示图像,基本的图像操作,如裁剪、翻转、旋转;图像的分割、分类、特征提取;图像恢复;以及图像识别等等。Python作为一种日益风靡的科学编程语言,是这些图像处理操作的最佳选择。同时,在Python生态当中也有很多可以免费使用的优秀的图像处理工具。

下文将介绍10个可以用于图像处理任务的Python库,它们在编辑图像、查看图像底层数据方面都提供了简单直接的方法。

1、scikit-image

scikit-image是一个结合NumPy数组使用的开源Python工具,它实现了可用于研究、教育、工业应用的算法和应用程序。即使是对于刚刚接触Python生态圈的新手来说,它也是一个在使用上足够简单的库。同时它的代码质量也很高,因为它是由一个活跃的志愿者社区开发的,并且通过了同行评审(peerreview)。

资源

scikit-image的文档非常完善,其中包含了丰富的用例。

示例

可以通过导入skimage使用,大部分的功能都可以在它的子模块中找到。

图像滤波(imagefiltering):

importmatplotlib.pyplotasplt

%matplotlibinline

fromskimageimportdata,filters

image=data.coins()ImageisaNumPyarray:

mask=image<87

image[mask]=255

plt.imshow(image,cmap=’gray’)

NumPy

3、SciPy

像NumPy一样,SciPy是Python的一个核心科学计算模块,也可以用于图像的基本操作和处理。尤其是SciPyv1.1.0中的scipy.ndimage子模块,它提供了在n维NumPy数组上的运行的函数。SciPy目前还提供了线性和非线性滤波(linearandnon-linearfiltering)、二值形态学(binarymorphology)、B样条插值(B-splineinterpolation)、对象测量(objectmeasurements)等方面的函数。

资源

在官方文档中可以查阅到scipy.ndimage的完整函数列表。

示例

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

fromscipyimportmisc,ndimage

face=misc.face()

blurred_face=ndimage.gaussian_filter(face,sigma=3)

very_blurred=ndimage.gaussian_filter(face,sigma=5)

Readimage

im=Image.open(‘image.jpg’)

#Displayimage

im.show()

fromPILimportImageEnhance

enh=ImageEnhance.Contrast(im)

enh.enhance(1.8).show(“30%morecontrast”)

EnhancinganimageinPillowusingImageFilter

源码

5、OpenCV-Python

OpenCV(OpenSourceComputerVision库)是计算机视觉领域最广泛使用的库之一,OpenCV-Python则是OpenCV的PythonAPI。OpenCV-Python的运行速度很快,这归功于它使用C/C++编写的后台代码,同时由于它使用了Python进行封装,因此调用和部署的难度也不大。这些优点让OpenCV-Python成为了计算密集型计算机视觉应用程序的一个不错的选择。

资源

入门之前最好先阅读OpenCV2-Python-Guide这份文档。

示例

使用OpenCV-Python中的金字塔融合(PyramidBlending)将苹果和橘子融合到一起:

ImageblendingusingPyramidsinOpenCV-Python

源码

6、SimpleCV

SimpleCV是一个开源的计算机视觉框架。它支持包括OpenCV在内的一些高性能计算机视觉库,同时不需要去了解位深度(bitdepth)、文件格式、色彩空间(colorspace)之类的概念,因此SimpleCV的学习曲线要比OpenCV平缓得多,正如它的口号所说,“将计算机视觉变得更简单”。SimpleCV的优点还有:

即使是刚刚接触计算机视觉的程序员也可以通过SimpleCV来实现一些简易的计算机视觉测试录像、视频文件、图像、视频流都在支持范围内

资源

官方文档简单易懂,同时也附有大量的学习用例。

示例

SimpleCV

7、Mahotas

Mahotas是另一个Python图像处理和计算机视觉库。在图像处理方面,它支持滤波和形态学相关的操作;在计算机视觉方面,它也支持特征计算(featurecomputation)、兴趣点检测(interestpointdetection)、局部描述符(localdescriptors)等功能。Mahotas的接口使用了Python进行编写,因此适合快速开发,而算法使用C++实现,并针对速度进行了优化。Mahotas尽可能做到代码量少和依赖项少,因此它的运算速度非常快。可以参考官方文档了解更多详细信息。

资源

文档包含了安装介绍、示例以及一些Mahotas的入门教程。

示例

Mahotas力求使用少量的代码来实现功能。例如这个FindingWally游戏:

FindingWallyprobleminMahotas

FindingWallyprobleminMahotas

源码

8、SimpleITK

ITK(InsightSegmentationandRegistrationToolkit)是一个为开发者提供普适性图像分析功能的开源、跨平台工具套件,SimpleITK则是基于ITK构建出来的一个简化层,旨在促进ITK在快速原型设计、教育、解释语言中的应用。SimpleITK作为一个图像分析工具包,它也带有大量的组件,可以支持常规的滤波、图像分割、图像配准(registration)功能。尽管SimpleITK使用C++编写,但它也支持包括Python在内的大部分编程语言。

资源

有很多JupyterNotebooks用例可以展示SimpleITK在教育和科研领域中的应用,通过这些用例可以看到如何使用Python和R利用SimpleITK来实现交互式图像分析。

示例

使用Python+SimpleITK实现的CT/MR图像配准过程:

SimpleITKanimation

源码

9、pgmagick

pgmagick是使用Python封装的GraphicsMagick库。GraphicsMagick通常被认为是图像处理界的瑞士军刀,因为它强大而又高效的工具包支持对多达88种主流格式图像文件的读写操作,包括DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM、TIFF等等。

资源

pgmagick的GitHub仓库中有相关的安装说明、依赖列表,以及详细的使用指引。

示例

图像缩放:

Imagescalinginpgmagick

源码

边缘提取:

Edgeextractioninpgmagick

源码

10、Pycairo

Cairo是一个用于绘制矢量图的二维图形库,而Pycairo是用于Cairo的一组Python绑定。矢量图的优点在于做大小缩放的过程中不会丢失图像的清晰度。使用Pycairo可以在Python中调用Cairo的相关命令。

资源

Pycairo的GitHub仓库提供了关于安装和使用的详细说明,以及一份简要介绍Pycairo的入门指南。

示例

使用Pycairo绘制线段、基本图形、径向渐变(radialgradients):

Pycairo

源码

总结

以上就是Python中的一些有用的图像处理库,无论你有没有听说过、有没有使用过,都值得试用一下并了解它们。

via:https://opensource.com/article/19/3/python-image-manipulation-tools

作者:ParulPandey选题:lujun9972译者:HankChow校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

点击“了解更多”可访问文内链接

文章到此结束,如果本次分享的pg电子网站源码分享和pg电子论坛的问题解决了您的问题,那么我们由衷的感到高兴!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平