OpenCV半小時(shí)掌握基本操作之圖像金字塔
【OpenCV】⚠️高手勿入! 半小時(shí)學(xué)會(huì)基本操作 ⚠️ 圖像金字塔
概述
OpenCV 是一個(gè)跨平臺(tái)的計(jì)算機(jī)視覺庫, 支持多語言, 功能強(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)分頁(pagination)處理
這篇文章主要為大家詳細(xì)介紹了Python+Selenium自動(dòng)化實(shí)現(xiàn)分頁pagination處理的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03python使用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-04Yolov5多邊形標(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-05Python使用urllib模塊的urlopen超時(shí)問題解決方法
這篇文章主要介紹了Python使用urllib模塊的urlopen超時(shí)問題解決方法,本文使用socket模塊中的setdefaulttimeout函數(shù)解決了超時(shí)問題,需要的朋友可以參考下2014-11-11python shapely.geometry.polygon任意兩個(gè)四邊形的IOU計(jì)算實(shí)例
這篇文章主要介紹了python shapely.geometry.polygon任意兩個(gè)四邊形的IOU計(jì)算實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04python神經(jīng)網(wǎng)絡(luò)Keras常用學(xué)習(xí)率衰減匯總
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)Keras常用學(xué)習(xí)率衰減匯總,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05darknet框架中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-11jupyter-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