推薦五個常用的python圖像處理庫
1. 引言
Python目前是世界上使用最多的編程語言之一。它能夠以更少的工作量和更少的代碼行數(shù)來完成許多事情。它還可以使用很少的代碼行來方便地編輯和創(chuàng)建圖像。
本文重點介紹,在圖像處理領(lǐng)域,我們最常使用的一些Python開源庫。
2. Pillow庫
Pillow是Python中常用的圖像處理庫之一。它提供了許多操作圖像的函數(shù),如調(diào)整大小、濾波操作等。這是Python中最好用的圖像處理庫之一。唯一的缺點是它已經(jīng)很久沒有更新了。
安裝安庫的命令如下:
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是在執(zhí)行任何類型的數(shù)據(jù)預處理或數(shù)據(jù)科學相關(guān)任務(wù)時導入的第一個庫。此外,它還可以用來進行圖像處理操作。
使用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運行結(jié)果如下:

4. Scipy庫
Scipy是Python中主要用于數(shù)學和科學計算的庫,但同時它也可以用于處理多維圖像。這是一個非常大的庫,包含許多科學計算的工具。當使用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()
運行結(jié)果如下:

5. Opencv庫
OpenCV是最常用的一種圖像處理庫,可以方便地與網(wǎng)絡(luò)攝像頭、圖像和視頻進行交互。它可以執(zhí)行多種實時任務(wù),于2000年首次發(fā)布。它因其簡單性和代碼可讀性而出名。目前,它主要用于計算機視覺任務(wù),如人臉檢測和識別、目標檢測等。
安裝該庫的命令如下:
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)運行結(jié)果如下:

6. Pgmagick庫
Pgmagick是Python庫中GraphicsMagick的補充,它提供了許多圖像處理的功能,比如調(diào)整大小、旋轉(zhuǎn)、銳化、漸變等操作。
安裝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')上述代碼的運行結(jié)果如下:

7. 總結(jié)
本文重點介紹了在Python中進行圖像處理的五個常用的開源庫,這五個庫功能強大,包含各式各樣的圖像處理函數(shù),極大地提升了開發(fā)效率,推薦大家積極使用。
到此這篇關(guān)于推薦五個常用的python圖像處理庫的文章就介紹到這了,更多相關(guān)Python圖像處理庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python進程multiprocessing.Process()的使用解讀
這篇文章主要介紹了Python進程multiprocessing.Process()的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02
詳解Python中的分支和循環(huán)結(jié)構(gòu)
這篇文章主要介紹了Python中的分支和循環(huán)結(jié)構(gòu),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02
Python3.10耙梳加密算法Encryption種類及開發(fā)場景
這篇文章主要為大家介紹了Python3.10加密,各種加密,耙梳加密算法Encryption種類及開發(fā)場景運用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02
Python 3中print函數(shù)的使用方法總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于Python 3中print函數(shù)的使用方法,python3中的print函數(shù)和之前版本的用法相差很多,本文通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-08-08

