圖像處理是操縱圖像以從中提取特征的現(xiàn)象。
在當(dāng)今計算機視覺和深度學(xué)習(xí)的世界中,大量使用不同的圖像處理算法對圖像數(shù)據(jù)集進行邊緣檢測、識別和分類。
有時,這些算法也會逐幀應(yīng)用于視頻,以從中提取特征。
在今天的文章中,我們將介紹5個最好的Python庫,它們可能會幫助你執(zhí)行圖像處理,如裁剪、縮放等。
1.OpenCV
OpenCV是用于圖像處理和計算機視覺的最流行和最廣泛使用的庫之一。這個口頭庫可以與許多編程語言一起使用,如C、C++、Python、java,但是Python綁定庫是最流行的。
不僅圖像處理,而且與計算機視覺相關(guān)的復(fù)雜深度學(xué)習(xí)算法也可以使用該庫輕松實現(xiàn)。OpenCV最好的一點是它是跨平臺的,并且可以與移動設(shè)備一起工作。
安裝
pip install opencv-python
對圖像進行高斯模糊。我們將使用Colab,因為在那里我們不需要設(shè)置東西的環(huán)境-這里的一切都是預(yù)先設(shè)置的。
首先,讓我們導(dǎo)入必要的包。Colab不支持cv2.imshow-但是,我們有一個替代方案。
import cv2
import numpy as np
import urllib
import urllib.request as ur
from google.colab.patches import cv2_imshow
現(xiàn)在,讓我們從internet加載一個圖像并應(yīng)用一些過濾器。
resp = ur.urlopen("https://thumbor.forbes.com/thumbor/960x0/https%3A%2F%2Fspecials-images.forbesimg.com%2Fdam%2Fimageserve%2F1068867780%2F960x0.jpg%3Ffit%3Dscale")
image = np.asarray(bytearray(resp.read()), dtype="uint8")
im = cv2.imdecode(image, cv2.IMREAD_COLOR)
blur = cv2.GaussianBlur(im, (5,5),0)
cv2_imshow(blur)
2.SimpleCV
SimpleCV是一個python框架,它使用像OpenCV這樣的計算機視覺庫。這個庫非常簡單易用,對快速原型設(shè)計非常有幫助。
對于那些不了解不同圖像處理概念(如特征值、顏色空間和位深度)的人來說,此庫尤其有用。
安裝
pip install SimpleCV
該庫是處理對象檢測任務(wù)的更好選擇。比如使用這個庫來檢測一輛車是否停了。
你可以在這里了解更多關(guān)于這個庫的信息。
http://tutorial.simplecv.org/en/latest/
3. Pillow
Pillow是一個Python圖像處理庫,源于PIL或Python圖像庫。
盡管它不如openCV功能強大、速度快,但它可以用于簡單的圖像處理工作,如裁剪、調(diào)整大小、旋轉(zhuǎn)和灰度縮放圖像。另一個好處是它可以在沒有NumPy和Matplotlib的情況下使用。
安裝
pip install pillow
要在PIL中讀取圖像,我們可以使用:
from PIL import Image
im = Image.open(r"C:\\Users\\System-Pc\\Desktop\\image1.jpg")
im.show()
你可以在這里了解更多關(guān)于這個庫的信息。
https://pillow.readthedocs.io/en/stable/
4.Mahotas
Mahotas是一個用于圖像處理和計算機視覺的Python庫,最初是為生物圖像信息學(xué)設(shè)計的。但是其他的計算機視覺任務(wù)也可以用它來完成。它最初是用C++編寫的,它使它非常快,而且除了NUMPY之外沒有依賴關(guān)系。
安裝
pip install mahotas
使用mahotas對圖像進行灰度縮放:
import mahotas
import mahotas.demos
import numpy as np
from pylab import imshow, gray, show
from os import path
photo = mahotas.demos.load('luispedro', as_grey=True)
photo = photo.astype(np.uint8)
gray()
imshow(photo)
show()
最后,在運行代碼之后,我們可以得到以下結(jié)果。
5.pgmagick
Pgmagick是GraphicsMagick的Python包裝器,GraphicsMagick是用于處理圖像的工具和庫的集合。它支持88多種圖像格式。除了圖像處理工作外,它還可以用于web應(yīng)用程序中創(chuàng)建新圖像。
安裝
pip install pgmagick
用于從圖片中提取邊:
from pgmagick.api import Image
img = Image(‘lena.jpg’) # 圖像路徑
img.edge(2)
img.write(‘lena_edge.jpg’)
結(jié)論
盡管OpenCV是我們將來將要使用的主要圖像處理庫,但是了解一下其他圖像處理庫肯定是個好主意。
所有這些庫都可以簡化特定功能的實現(xiàn),從而簡化工作流。
-
圖像處理
+關(guān)注
關(guān)注
27文章
1289瀏覽量
56723 -
C++
+關(guān)注
關(guān)注
22文章
2108瀏覽量
73623 -
python
+關(guān)注
關(guān)注
56文章
4792瀏覽量
84628
發(fā)布評論請先 登錄
相關(guān)推薦
評論