OpenCV半小時(shí)掌握基本操作之圖像金字塔
【OpenCV】⚠️高手勿入! 半小時(shí)學(xué)會(huì)基本操作 ⚠️ 圖像金字塔
概述
OpenCV 是一個(gè)跨平臺(tái)的計(jì)算機(jī)視覺庫(kù), 支持多語(yǔ)言, 功能強(qiáng)大. 今天小白就帶大家一起攜手走進(jìn) OpenCV 的世界.

圖像金字塔

高斯金字塔
高斯金字塔 (Gaussian Pyramid) 是最基本的圖像塔. 對(duì)圖像進(jìn)行高斯濾波, 然后去除偶數(shù)行和列. 對(duì)圖像放大形成上采樣.
下采樣:

例子:
# 讀取圖片
img = cv2.imread("person.jpg")
print(img.shape) # (381, 382, 3)
# 下采樣
down = cv2.pyrDown(img)
print(down.shape) # (191, 191, 3)
# 展示圖片
cv2.imshow("down", down)
cv2.waitKey(0)
cv2.destroyAllWindows()
上采樣:

例子:
# 讀取圖片
img = cv2.imread("person.jpg")
print(img.shape) # (381, 382, 3)
# 上采樣
up = cv2.pyrUp(img)
print(up.shape) # (762, 764, 3)
# 展示圖片
cv2.imshow("up", up)
cv2.waitKey(0)
cv2.destroyAllWindows()
下采樣然后上采樣 vs 原圖:
# 讀取圖片
img = cv2.imread("person.jpg")
img = cv2.resize(img, (380, 380))
# 下采樣
down = cv2.pyrDown(img)
# 上采樣
down_up = cv2.pyrUp(down)
# 組合
combine = np.hstack((img, down_up))
# 圖片展示
cv2.imshow("combine", combine)
cv2.waitKey(0)
cv2.destroyAllWindows()
輸出結(jié)果:

從上圖我們可以看出, 原圖明顯比下采樣然后上采樣的圖清晰.
拉布拉斯金字塔
在進(jìn)行高斯金字塔 (Gaussian Pyramid) 運(yùn)算時(shí), 在不斷的高斯濾波和下采樣, 我們丟失了很多高頻信號(hào).
拉斯金字塔 (Laplacian Pyramid) 可以幫助我們保留高頻信號(hào).

代碼:
# 讀取圖片
img = cv2.imread("person.jpg")
img = cv2.resize(img, (380, 380))
# 下采樣
down = cv2.pyrDown(img)
# 上采樣
down_up = cv2.pyrUp(down)
# 原圖 - down_up
result = img - down_up
# 圖片展示
cv2.imshow("result", result)
cv2.waitKey(0)
cv2.destroyAllWindows()
輸出結(jié)果:

到此這篇關(guān)于OpenCV半小時(shí)掌握基本操作之圖像金字塔的文章就介紹到這了,更多相關(guān)OpenCV圖像金字塔內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python+Selenium自動(dòng)化實(shí)現(xiàn)分頁(yè)(pagination)處理
這篇文章主要為大家詳細(xì)介紹了Python+Selenium自動(dòng)化實(shí)現(xiàn)分頁(yè)pagination處理的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
python使用requests模塊實(shí)現(xiàn)爬取電影天堂最新電影信息
這篇文章主要介紹了python使用requests模塊實(shí)現(xiàn)爬取電影天堂最新電影信息,本文通過實(shí)例代碼給大家介紹了str/list/tuple三者之間怎么相互轉(zhuǎn)換,需要的朋友可以參考下2019-04-04
詳解Django之a(chǎn)uth模塊(用戶認(rèn)證)
這篇文章主要介紹了詳解Django之a(chǎn)uth模塊(用戶認(rèn)證),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
Yolov5多邊形標(biāo)簽和JSON數(shù)據(jù)格式轉(zhuǎn)換
通過labelme對(duì)圖進(jìn)行標(biāo)注后,得到的是json文件,而Yolov5對(duì)數(shù)據(jù)進(jìn)行模型構(gòu)建的時(shí)候,讀取需要的是txt格式的文件。所以需要先通過Python進(jìn)行文件格式的轉(zhuǎn)換,需要的朋友可以參考下2023-05-05
Python使用urllib模塊的urlopen超時(shí)問題解決方法
這篇文章主要介紹了Python使用urllib模塊的urlopen超時(shí)問題解決方法,本文使用socket模塊中的setdefaulttimeout函數(shù)解決了超時(shí)問題,需要的朋友可以參考下2014-11-11
python shapely.geometry.polygon任意兩個(gè)四邊形的IOU計(jì)算實(shí)例
這篇文章主要介紹了python shapely.geometry.polygon任意兩個(gè)四邊形的IOU計(jì)算實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04
python神經(jīng)網(wǎng)絡(luò)Keras常用學(xué)習(xí)率衰減匯總
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)Keras常用學(xué)習(xí)率衰減匯總,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
darknet框架中YOLOv3對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練和預(yù)測(cè)詳解
這篇文章主要為大家介紹了darknet框架中YOLOv3對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練和預(yù)測(cè)使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
jupyter-lab設(shè)置自啟動(dòng)及遠(yuǎn)程連接開發(fā)環(huán)境
本文主要介紹了jupyter-lab設(shè)置自啟動(dòng)及遠(yuǎn)程連接開發(fā)環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02

