推薦五個(gè)常用的python圖像處理庫(kù)
1. 引言
Python目前是世界上使用最多的編程語(yǔ)言之一。它能夠以更少的工作量和更少的代碼行數(shù)來(lái)完成許多事情。它還可以使用很少的代碼行來(lái)方便地編輯和創(chuàng)建圖像。
本文重點(diǎn)介紹,在圖像處理領(lǐng)域,我們最常使用的一些Python開(kāi)源庫(kù)。
2. Pillow庫(kù)
Pillow是Python中常用的圖像處理庫(kù)之一。它提供了許多操作圖像的函數(shù),如調(diào)整大小、濾波操作等。這是Python中最好用的圖像處理庫(kù)之一。唯一的缺點(diǎn)是它已經(jīng)很久沒(méi)有更新了。
安裝安庫(kù)的命令如下:
pip install pillow
這里通過(guò)一個(gè)簡(jiǎn)單的代碼片段來(lái)展示這個(gè)庫(kù)是如何工作的。讓我們使用Pillow來(lái)增加對(duì)比度,讓深色圖像變得更漂亮一些。
代碼如下:
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")運(yùn)行效果如下:

3. Numpy庫(kù)
NumPy代表Numerical Python。它是一個(gè)Python庫(kù),可以幫助我們處理所有類(lèi)型的科學(xué)計(jì)算。NumPy是在執(zhí)行任何類(lèi)型的數(shù)據(jù)預(yù)處理或數(shù)據(jù)科學(xué)相關(guān)任務(wù)時(shí)導(dǎo)入的第一個(gè)庫(kù)。此外,它還可以用來(lái)進(jìn)行圖像處理操作。
使用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運(yùn)行結(jié)果如下:

4. Scipy庫(kù)
Scipy是Python中主要用于數(shù)學(xué)和科學(xué)計(jì)算的庫(kù),但同時(shí)它也可以用于處理多維圖像。這是一個(gè)非常大的庫(kù),包含許多科學(xué)計(jì)算的工具。當(dāng)使用Scipy庫(kù)進(jìn)行圖像處理時(shí),只需導(dǎo)入scipy.ndimage模塊即可。
安裝scipy庫(kù)的命令如下:
pip install scipy
使用該庫(kù)進(jìn)行高斯模糊的樣例代碼如下:
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()
運(yùn)行結(jié)果如下:

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

6. Pgmagick庫(kù)
Pgmagick是Python庫(kù)中GraphicsMagick的補(bǔ)充,它提供了許多圖像處理的功能,比如調(diào)整大小、旋轉(zhuǎn)、銳化、漸變等操作。
安裝pgmagick的命令如下:
pip install pgmagick
下面是使用該庫(kù)進(jìn)行縮放的樣例代碼:
from pgmagick.api import Image
img = Image('fox.png')
# scaling image up to 1.5x
img.scale((150, 100), 'fox_scaled')上述代碼的運(yùn)行結(jié)果如下:

7. 總結(jié)
本文重點(diǎn)介紹了在Python中進(jìn)行圖像處理的五個(gè)常用的開(kāi)源庫(kù),這五個(gè)庫(kù)功能強(qiáng)大,包含各式各樣的圖像處理函數(shù),極大地提升了開(kāi)發(fā)效率,推薦大家積極使用。
到此這篇關(guān)于推薦五個(gè)常用的python圖像處理庫(kù)的文章就介紹到這了,更多相關(guān)Python圖像處理庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python進(jìn)程multiprocessing.Process()的使用解讀
這篇文章主要介紹了Python進(jìn)程multiprocessing.Process()的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
詳解Python中的分支和循環(huán)結(jié)構(gòu)
這篇文章主要介紹了Python中的分支和循環(huán)結(jié)構(gòu),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
使用python從三個(gè)角度解決josephus問(wèn)題的方法
這篇文章主要介紹了使用python從三個(gè)角度解決josephus問(wèn)題的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
Python3.10耙梳加密算法Encryption種類(lèi)及開(kāi)發(fā)場(chǎng)景
這篇文章主要為大家介紹了Python3.10加密,各種加密,耙梳加密算法Encryption種類(lèi)及開(kāi)發(fā)場(chǎng)景運(yùn)用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
Python中使用正則表達(dá)式精準(zhǔn)匹配IP地址的案例
Python的正則表達(dá)式(re模塊)是完成這個(gè)任務(wù)的利器,但你知道怎么寫(xiě)才能準(zhǔn)確匹配各種合法的IP地址嗎,今天我們就來(lái)詳細(xì)探討這個(gè)問(wèn)題,感興趣的朋友一起看看吧2025-04-04
Python 3中print函數(shù)的使用方法總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于Python 3中print函數(shù)的使用方法,python3中的print函數(shù)和之前版本的用法相差很多,本文通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-08-08

