Python中最有用的圖像處理庫(kù)研究
介紹正如IDC所指出的,數(shù)字信息將飆升至175 ZB,而這些信息中的巨大一部分是圖片。數(shù)據(jù)科學(xué)家需要(預(yù)先)測(cè)量這些圖像,然后再將它們放入人工智能和深度學(xué)習(xí)模型中。在愉快的部分開(kāi)始之前,他們需要做重要的工作。為了快速地處理大量信息,科學(xué)家需要利用圖像準(zhǔn)備工具來(lái)完成人工智能和深度學(xué)習(xí)任務(wù)。在本文中,我將深入研究Python中最有用的圖像處理庫(kù),這些庫(kù)正在人工智能和深度學(xué)習(xí)任務(wù)中得到大力利用。我們開(kāi)始吧!
目錄
OpenCV
Scikit-Image
Scipy
Python Image Library(Pillow/PIL)
Matplotlib
SimpleITK
Numpy
Mahotas
OpenCV
OpenCV是最著名和應(yīng)用最廣泛的開(kāi)源庫(kù)之一,用于圖像處理、目標(biāo)檢測(cè)、人臉檢測(cè)、圖像分割、人臉識(shí)別等計(jì)算機(jī)視覺(jué)任務(wù)。除此之外,它還可以用于機(jī)器學(xué)習(xí)任務(wù)。
這是英特爾在2002年開(kāi)發(fā)的。它是用C++編寫的,但是開(kāi)發(fā)人員已經(jīng)提供了Python和java綁定。它易于閱讀和使用。
為了建立計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)模型,OpenCV有超過(guò)2500種算法。這些算法對(duì)于執(zhí)行各種任務(wù)非常有用,例如人臉識(shí)別、目標(biāo)檢測(cè)等。讓我們看一些可以使用OpenCV執(zhí)行的示例:
灰度縮放
灰度縮放是一種將3通道圖像(如RGB、HSV等)轉(zhuǎn)換為單通道圖像(即灰度)的方法。最終的圖像在全白和全黑之間變化;叶瓤s放的重要性包括降維(將3通道圖像轉(zhuǎn)換為單通道圖像)、降低模型復(fù)雜度等。下面的代碼片段顯示了OpenCV中的灰度縮放import cv2 as cv
img = cv.imread('example.jpg')
cv.imshow('Original', img)
cv.waitKey()
#Use cvtColor, to convert to grayscale
gray_img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
cv.imshow('Grayscale', gray_img)
cv.waitKey(0)
旋轉(zhuǎn)圖像
OpenCV有助于使用從0到360度的任意角度旋轉(zhuǎn)圖像。檢查以下代碼以將圖像旋轉(zhuǎn)180度。import cv2 as cv
import matplotlib.pyplot as plt
img = cv.imread('example.jpg')
h, w = image.shape[:2]
rot_matrix = cv.getRotationMatrix2D((w/2,h/2), -180, 0.5)
rot_image = cv.warpAffine(img, rot_matrix, (w, h))
plt.imshow(cv.cvtColor(rot_image, cv.COLOR_BGR2RGB))
OpenCV還提供了除我們到目前為止討論的功能之外的其他功能。除此之外,它還有助于人臉檢測(cè)、圖像分割、特征提取、目標(biāo)檢測(cè)、三維重建等。
Scikit-Image
Scikit Image是另一個(gè)偉大的開(kāi)源圖像處理庫(kù)。它幾乎適用于任何計(jì)算機(jī)視覺(jué)任務(wù)。它是最簡(jiǎn)單、最直接的庫(kù)之一。這個(gè)庫(kù)的某些部分是用Cython編寫的(它是python編程語(yǔ)言的超集,旨在使python比C語(yǔ)言更快)。它提供了大量的算法,包括分割、顏色空間操作、幾何變換、濾波、形態(tài)學(xué)、特征檢測(cè)等。Scikit Image使用Numpy數(shù)組作為圖像對(duì)象。讓我們看看如何在scikit圖像中執(zhí)行活動(dòng)輪廓操作。活動(dòng)輪廓描述圖像中形狀的邊界。
檢查以下活動(dòng)輪廓操作代碼:import numpy as np
import matplotlib.pyplot as plt
from skimage.color import rgb2gray
from skimage import data
from skimage.filters import gaussian
from skimage.segmentation import active_contour
image = data.a(chǎn)stronaut()
# Data for circular boundary
s = np.linspace(0, 2*np.pi, 400)
x = 220 + 100*np.cos(s)
y = 100 + 100*np.sin(s)
init = np.a(chǎn)rray([x, y]).T
# formation of the active contour
centre = active_contour(gaussian(image, 3),init, alpha=0.015, beta=10, gamma=0.001)
figure, axis = plt.subplots(1, 2, figsize=(7, 7))
ax[0].imshow(image, cmap=plt.cm.gray)
ax[0].set_title("Original Image")
ax[1].imshow(image, cmap=plt.cm.gray)
Scipy
SciPy主要用于數(shù)學(xué)和科學(xué)計(jì)算,但有時(shí)也可以使用子模塊SciPy.ndimage用于基本的圖像操作和處理任務(wù)。歸根結(jié)底,圖像只是多維數(shù)組,SciPy提供了一組用于操作n維Numpy操作的函數(shù)。SciPy提供了一些基本的圖像處理操作,如人臉檢測(cè)、卷積、圖像分割、讀取圖像、特征提取等。除此之外,還可以執(zhí)行過(guò)濾,在圖像上繪制輪廓線。
請(qǐng)檢查以下代碼以使用SciPy模糊圖像:from scipy import ndimage, misc
from matplotlib import pyplot as plt
f = misc.face()
b_face = ndimage.gaussian_filter(f, sigma=3)
figure, axis = plt.subplots(1, 2, figsize=(16, 8))
Python Image Library (Pillow/PIL)
它是一個(gè)用于圖像處理任務(wù)的開(kāi)放源碼python庫(kù)。它提供了其他庫(kù)通常不提供的特殊功能,如過(guò)濾、打開(kāi)、操作和保存圖像。這個(gè)庫(kù)支持多種文件格式,這使它更高效。PIL還支持圖像處理、圖像顯示和圖像存檔等功能。讓我們看看使用Pillow/PIL的圖像增強(qiáng)。
庫(kù)更改圖像的清晰度:
Matplotlib
Matplotlib主要用于二維可視化,如散點(diǎn)圖、條形圖、直方圖等,但我們也可以將其用于圖像處理。從圖像中提取信息是有效的。它不支持所有的文件格式。背景顏色更改操作后,請(qǐng)檢查以下圖像:
SimpleITK
它也稱為圖像分割和注冊(cè)工具包。它是一個(gè)用于圖像注冊(cè)和圖像分割的開(kāi)源庫(kù)。像OpenCV這樣的庫(kù)將圖像視為一個(gè)數(shù)組,但是這個(gè)庫(kù)將圖像視為空間中某個(gè)區(qū)域上的一組點(diǎn)。檢查以下示例:
圖像分割
Numpy
它是一個(gè)用于數(shù)值分析的開(kāi)放源碼python庫(kù)。它包含一個(gè)矩陣和多維數(shù)組作為數(shù)據(jù)結(jié)構(gòu)。但是NumPy也可以用于圖像處理任務(wù),例如圖像裁剪、操作像素和像素值的蒙版。
檢查下圖以從圖像中提取綠色/紅色/藍(lán)色通道:
Mahotas
它是另一個(gè)用于計(jì)算機(jī)視覺(jué)和圖像處理的開(kāi)放源碼python庫(kù)。它是為生物信息學(xué)而設(shè)計(jì)的。它提供了很多算法,這些算法是用C++編寫的,速度很快,使用了一個(gè)好的Python接口。它以NumPy數(shù)組讀取和寫入圖像。使用Mahotas檢查下面的模板匹配圖像:
結(jié)論
因此,在本文中,我們介紹了2021年機(jī)器學(xué)習(xí)用python中排名前8位的圖像處理庫(kù)。我希望你從這個(gè)博客中學(xué)到一些東西,對(duì)你的項(xiàng)目有益。

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
3月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
4月30日立即下載>> 【村田汽車】汽車E/E架構(gòu)革新中,新智能座艙挑戰(zhàn)的解決方案
-
5月15-17日立即預(yù)約>> 【線下巡回】2025年STM32峰會(huì)
-
即日-5.15立即報(bào)名>>> 【在線會(huì)議】安森美Hyperlux™ ID系列引領(lǐng)iToF技術(shù)革新
-
5月15日立即下載>> 【白皮書(shū)】精確和高效地表征3000V/20A功率器件應(yīng)用指南
-
5月16日立即參評(píng) >> 【評(píng)選啟動(dòng)】維科杯·OFweek 2025(第十屆)人工智能行業(yè)年度評(píng)選
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達(dá)AI統(tǒng)治的開(kāi)始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀(jì)”爆發(fā)至今,五類新物種登上歷史舞臺(tái)
- 5 國(guó)產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計(jì)算迎來(lái)商業(yè)化突破,但落地仍需時(shí)間
- 7 東陽(yáng)光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開(kāi)成長(zhǎng)空間
- 8 地平線自動(dòng)駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營(yíng)收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機(jī)器人東風(fēng)翻身?