首頁 > 軟體

推薦五個常用的python影象處理庫

2022-05-24 14:00:10

1. 引言

Python目前是世界上使用最多的程式語言之一。它能夠以更少的工作量和更少的程式碼行數來完成許多事情。它還可以使用很少的程式碼行來方便地編輯和建立影象。
本文重點介紹,在影象處理領域,我們最常使用的一些Python開源庫。

2. Pillow庫

Pillow是Python中常用的影象處理庫之一。它提供了許多操作影象的函數,如調整大小、濾波操作等。這是Python中最好用的影象處理庫之一。唯一的缺點是它已經很久沒有更新了。

安裝安庫的命令如下:

pip install pillow

這裡通過一個簡單的程式碼片段來展示這個庫是如何工作的。讓我們使用Pillow來增加對比度,讓深色影象變得更漂亮一些。

程式碼如下:

from PIL import Image,ImageEnhance
img_original = Image.open("dark.jpg")
img_original.show("Original Image")
img = ImageEnhance.Contrast(img_original)
img.enhance(3.8).show("Image With More Contrast")

執行效果如下:

3. Numpy庫

NumPy代表Numerical Python。它是一個Python庫,可以幫助我們處理所有型別的科學計算。NumPy是在執行任何型別的資料預處理或資料科學相關任務時匯入的第一個庫。此外,它還可以用來進行影象處理操作。

使用NumPy,我們可以輕鬆地操縱影象的RGB值。舉例如下:

from PIL import Image
import numpy as np
img = np.array(Image.open('0.jpg'))
img_red = img.copy()
img_red[:, :, (1, 2)] = 0
img_green = img.copy()
img_green[:, :, (0, 2)] = 0
img_blue = img.copy()
img_blue[:, :, (0, 1)] = 0
img_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

執行結果如下:

4. Scipy庫

Scipy是Python中主要用於數學和科學計算的庫,但同時它也可以用於處理多維影象。這是一個非常大的庫,包含許多科學計算的工具。當使用Scipy庫進行影象處理時,只需匯入scipy.ndimage模組即可。
安裝scipy庫的命令如下:

pip install scipy

使用該庫進行高斯模糊的樣例程式碼如下:

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

執行結果如下:

5. Opencv庫

OpenCV是最常用的一種影象處理庫,可以方便地與網路攝像頭、影象和視訊進行互動。它可以執行多種實時任務,於2000年首次釋出。它因其簡單性和程式碼可讀性而出名。目前,它主要用於計算機視覺任務,如人臉檢測和識別、目標檢測等。

安裝該庫的命令如下:

pip install opencv-python

使用該庫,進行crop操作的樣例如下:

import cv2
img = cv2.imread("images/test.jpg")
imgCropped = img[50:283,25:190]
shape = imgCropped.shape
print(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)

執行結果如下:

6. Pgmagick庫

Pgmagick是Python庫中GraphicsMagick的補充,它提供了許多影象處理的功能,比如調整大小、旋轉、銳化、漸變等操作。

安裝pgmagick的命令如下:

pip install pgmagick

下面是使用該庫進行縮放的樣例程式碼:

from pgmagick.api import Image
img = Image('fox.png')
# scaling image up to 1.5x
img.scale((150, 100), 'fox_scaled')

上述程式碼的執行結果如下:

7. 總結

本文重點介紹了在Python中進行影象處理的五個常用的開源庫,這五個庫功能強大,包含各式各樣的影象處理常式,極大地提升了開發效率,推薦大家積極使用。

到此這篇關於推薦五個常用的python影象處理庫的文章就介紹到這了,更多相關Python影象處理庫內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com