大数跨境
0
0

【Python】推荐五个常用的图像处理库

【Python】推荐五个常用的图像处理库 AI算法之道
2022-05-19
2
导读:本文重点介绍了在Python中进行图像处理的五个常用的开源库,这五个库功能强大,包含各式各样的图像处理函数,极大地提升了开发效率,推荐大家积极使用。​






01


引言


Python目前是世界上使用最多的编程语言之一。它能够以更少的工作量和更少的代码行数来完成许多事情。它还可以使用很少的代码行来方便地编辑和创建图像。

本文重点介绍,在图像处理领域,我们最常使用的一些Python开源库。

闲话少说,我们直接开始吧!



02


Pillow库


Pillow是Python中常用的图像处理库之一。它提供了许多操作图像的函数,如调整大小、滤波操作等。这是Python中最好用的图像处理库之一。唯一的缺点是它已经很久没有更新了。

安装安库的命令如下:
pip install pillow

这里通过一个简单的代码片段来展示这个库是如何工作的。让我们使用Pillow来增加对比度,让深色图像变得更漂亮一些。

代码如下:
from PIL import Image,ImageEnhanceimg_original = Image.open("dark.jpg")img_original.show("Original Image")img = ImageEnhance.Contrast(img_original)img.enhance(3.8).show("Image With More Contrast")

运行效果如下:





03


Numpy库


NumPy代表 Numerical Python 。它是一个Python库,可以帮助我们处理所有类型的科学计算。NumPy是在执行任何类型的数据预处理或数据科学相关任务时导入的第一个库。此外,它还可以用来进行图像处理操作。

使用NumPy,我们可以轻松地操纵图像的RGB值。举例如下:
from PIL import Imageimport numpy as npimg = np.array(Image.open('0.jpg'))img_red = img.copy()img_red[:, :, (1, 2)] = 0img_green = img.copy()img_green[:, :, (0, 2)] = 0img_blue = img.copy()img_blue[:, :, (0, 1)] = 0img_ORGB = np.concatenate((img,img_red, img_green, img_blue), axis=1)img_converted = Image.fromarray(img_ORGB)img_converted.show() ## Combine Image Contains all four images

运行结果如下:




04


 Scipy库


Scipy是Python中主要用于数学和科学计算的库,但同时它也可以用于处理多维图像。这是一个非常大的库,包含许多科学计算的工具。当使用Scipy库进行图像处理时,只需导入scipy.ndimage模块即可。

安装scipy库的命令如下:
pip install scipy

使用该库进行高斯模糊的样例代码如下:

from scipy import miscimport matplotlib.pyplot as pltfig = plt.figure()plt.gray()  # show the filtered result in grayscaleax1 = fig.add_subplot(121)  # left sideax2 = fig.add_subplot(122)  # right sideascent = misc.ascent()result = gaussian_filter(ascent, sigma=5)ax1.imshow(ascent)ax2.imshow(result)plt.show()

运行结果如下:




05


 Opencv库


OpenCV是最常用的一种图像处理库,可以方便地与网络摄像头、图像和视频进行交互。它可以执行多种实时任务,于2000年首次发布。它因其简单性和代码可读性而出名。目前,它主要用于计算机视觉任务,如人脸检测和识别、目标检测等。

安装该库的命令如下:
pip install opencv-python
使用该库,进行crop操作的样例如下:
import cv2img = cv2.imread("images/test.jpg")imgCropped = img[50:283,25:190]shape = imgCropped.shapeprint(shape[0])imgCropped = cv2.resize(imgCropped,(shape[0]*12//10,shape[1]*2))cv2.imshow("Image cropped",imgCropped)cv2.imshow("Image",img)cv2.waitKey(0)

运行结果如下:





06


 Pgmagick库


Pgmagick是Python库中GraphicsMagick库的补充,它提供了许多图像处理的功能,比如调整大小、旋转、锐化、渐变等操作。

安装该库的命令如下:
pip install pgmagick
下面是使用该库进行缩放的样例代码:
from pgmagick.api import Image   img = Image('fox.png')   # scaling image up to 1.5x img.scale((150, 100), 'fox_scaled')

上述代码的运行结果如下:





07


总结



本文重点介绍了在Python中进行图像处理的五个常用的开源库,这五个库功能强大,包含各式各样的图像处理函数,极大地提升了开发效率,推荐大家积极使用。


您学废了吗?






点击上方小卡片关注我



万水千山总关情,点个在看行不行。

【声明】内容源于网络
0
0
AI算法之道
一个专注于深度学习、计算机视觉和自动驾驶感知算法的公众号,涵盖视觉CV、神经网络、模式识别等方面,包括相应的硬件和软件配置,以及开源项目等。
内容 573
粉丝 0
AI算法之道 一个专注于深度学习、计算机视觉和自动驾驶感知算法的公众号,涵盖视觉CV、神经网络、模式识别等方面,包括相应的硬件和软件配置,以及开源项目等。
总阅读256
粉丝0
内容573