14-圖像金字塔

在這里插入圖片描述
由第一個圖可知,圖像金字塔這無非就是對圖像進行放大和縮小罷了

1,高斯金字塔

向下采樣方法(縮小),越采樣越小,即從金字塔底部向上采樣

cv2.pyrDown(img)
在這里插入圖片描述

向上采樣方法(放大),越采樣越大,即從金字塔頂部向下采樣

cv2.pyrUp(img)
在這里插入圖片描述

import cv2
import numpy as npdef show_photo(name,picture):cv2.imshow(name,picture)cv2.waitKey(0)cv2.destroyAllWindows()#原圖
img = cv2.imread('E:\Jupyter_workspace\study\data/test2.png')
show_photo('img',img)
print(img.shape)#結果為:(260, 200, 3)#放大
up = cv2.pyrUp(img)
show_photo('up',up)
print(up.shape)#結果為:(520, 400, 3)#縮小
down = cv2.pyrDown(img)
show_photo('down',down)
print(down.shape)#結果為:(130, 100, 3)#先放大再縮小
up = cv2.pyrUp(img)
up_down = cv2.pyrDown(up)
show_photo('up_down',up_down)
print(up_down.shape))#結果為:(260, 200, 3)#先縮小再放大
down = cv2.pyrDown(img)
down_up = cv2.pyrUp(down)
show_photo('down_up',down_up)
print(down_up.shape)#結果為:(260, 200, 3)#將原圖、先放大再縮小、先縮小再放大進行比較
res = np.hstack((img,up_down,down_up))#vstack縱向比較
show_photo('img  up_down  down_up',res)

效果如下:
原圖、先放大再縮小、先縮小再放大進行比較
在這里插入圖片描述
雖然先放大再縮小或者先縮小再放大都和原圖大小一樣,但是實則清晰度已經變了,已經丟了很多數據了

2,拉普拉斯金字塔

在這里插入圖片描述
Gi為原圖像數據,即img
PyrUp(PyrDown(Gi))對原圖像先up再down
然后用原圖像Gi減去PyrUp(PyrDown(Gi))
在這里插入圖片描述
首先,G0為原圖先進行低通濾波和縮小尺寸操作得到G1,G1再進行放大尺寸得到E1,然后,G0-E1得到LP1,即與上述公式效果一致
cv2.pyrDown(img)縮小
cv2.pyrUp(img)放大

import cv2
import numpy as npdef show_photo(name,picture):cv2.imshow(name,picture)cv2.waitKey(0)cv2.destroyAllWindows()img = cv2.imread('E:\Jupyter_workspace\study\data/test2.png')
down = cv2.pyrDown(img)
down_up = cv2.pyrUp(down)#先縮小再放大
lpls = img-down_up
show_photo('lpls',lpls)

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/378710.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378710.shtml
英文地址,請注明出處:http://en.pswp.cn/news/378710.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JAVA和javascrito_JAVA 和JavaScript的split方法異同

Split的方法很常用,除了str.split("regex"),其實還可以多傳一個參數:str.split("regex", limit)。但是要注意,JavaScript和java的split中limit參數作用是不同的。簡單說,JavaScript中,…

如果__name__ =='__main__':在Python中怎么辦?

In order to understand the details of __name__ variable and the if condition, let us go through a simple exercise. Run a simple python file with just the following lines and run the file as python3 code, 為了了解__name__變量和if條件的詳細信息,讓…

Eclipse C/C++開發環境搭建

1 Eclipse的安裝 到http://java.sun.com/j2se/1.5.0/download.jsp 下載JRE安裝; 到http://eclipse.org下載Eclipse安裝。(這兒可以下載Java版本的,也可以下載C/C 版本的) 2 對于下載的Java版本或著只下載Eclipse IDE的&#xff0c…

微機原理——尋址方式總結

一、操作數的尋址方式 立即尋址方式 格式: 操作碼 數字表達式(將數據送入寄存器中) 源操作數可以是8位也可以是16位。 MOV AH, F5H (字節操作) F5H稱為立即數(8位操作數) MOV AL, 8AH (字節操作) 8AH稱為…

15-輪廓檢測

邊緣是零零散散的,而輪廓是一個整體 cv2.findContours(img,mode,method) img:輸入圖像對象名稱 mode:輪廓檢索模式 RETR_EXTERNAL:只檢索最外面的輪廓 RETR_LIST:檢索所有的輪廓,并將其保存到一條鏈表當中…

拋硬幣仿真實驗java_探索HyperLogLog算法(含Java實現)

引言HyperLogLog算法經常在數據庫中被用來統計某一字段的Distinct Value(下文簡稱DV),比如Redis的HyperLogLog結構,出于好奇探索了一下這個算法的原理,無奈中文資料很少,只能直接去閱讀論文以及一些英文資料,總結成此文…

kotlin鍵值對數組_Kotlin程序以升序對數組進行排序

kotlin鍵值對數組Given an array, we have to sort its elements in ascending order. 給定一個數組,我們必須按升序對其元素進行排序。 Example: 例: Input:arr [10, 20, 5, 2, 30]Output:sorted array (Ascending Order): [2, 5, 10, 20, 30]在Kotl…

微機原理——總線和時序

前提 8088有兩個組態: 最大組態和最小組態,通過引腳MN/MX*的電平決定組態。(*表示低電平有效) 兩種組態沒有本質區別。 8088的引腳: 引腳可分為下面幾種類別: 1、數據和地址引腳 2、讀寫控制引腳 3、中斷…

PHP站內搜索:多關鍵字查找,加亮顯示

1、SQL語句中的模糊查找LIKE條件一般用在指定搜索某字段的時候, 通過"% _" 通配符的作用實現模糊查找功能,通配符可以在前面也可以在后面或前后都有。搜索以PHP100開頭: SELECT * FROM teble WHERE title LIKE PHP100% 搜索以PHP100結束&…

16-模板匹配

cv2.matchTemplate(img,template,cv2.TM_SQDIFF) 參數一:原圖圖像對象名稱 參數二:模板圖像對象名稱 參數三:差別程度的計算方法(六選一推薦使用帶歸一化的) 模板匹配和卷積原理很像,模板從原圖像上從原點開始滑動,計…

對MySQL性能影響關系緊密的五大配置參數

以下的文章主要是對MySQL性能影響關系緊密的五大配置參數的介紹,我前幾天在相關網站看見對MySQL性能影響關系緊密的五大配置參數的資料,覺得挺好,就拿出來供大家分享,望你能有所收獲。(一)連接 連接通常來自Web服務器,…

JAVA安裝作用_jdk安裝配置及其作用

2.安裝好了就是去配置路徑了,我的是win7系統,步驟如下:桌面上的計算機右擊-》高級系統設置—》環境變量-》系統變量-》新建一共要新建三個變量JAVA_HOME,PATH和CLASSPATH1>JAVA_HOME:(這么寫為了方便以后可能改動jdk的安裝路徑&#xff0c…

用C#開發Windows應用程序

To develop windows application, we need to using studio and follow some steps: 要開發Windows應用程序 ,我們需要使用studio并遵循一些步驟: Step 1) First of all we launch visual studio. 步驟1)首先,我們啟動Visual Studio。 Ste…

圖像分割——基于二維灰度直方圖的閾值處理

前言 像素灰度值僅僅反映了像素灰度級的幅值大小,并沒有反映出像素與鄰域的空間相關信息。 二維灰度直方圖的概念 二維灰度直方圖:像素的灰度值分布和鄰域的平均灰度值分布構成的二維直方圖 二維直方圖的值N(i,j) 。其中,if(x,y) 圖像(x,y…

多維角度聊聊結對編程

在敏捷軟件開發的各種實踐中,結對編程(Pair Programming,下文簡稱Pair)是特別有爭議的。Pair有一個特點,那就是還沒有進行過任何Pair實踐前,你很可能對它已經有了“喜歡” 或者是“討厭”的印象。如果有人問…

17-直方圖

直方圖 何為直方圖?沒那么高大上,其實就是二維統計圖。每個照片都是有像素點所組成,當然也是[0,255],直方圖就是統計每個值所對應的像素點有幾個。 直方圖橫坐標表示0-255這些像素點值;縱坐標表示對應像素點值的個數有…

java求水電費_java水電費管理系統

每天記錄學習,每天會有好心情。*^_^*今天和一個朋友共同完成了一個基于web的java水電費管理系統項目,我們在開發時選用的框架是SSM(MYECLIPSE)框架。我這個朋友知識有限,只會這個框架,哈哈,都是為了方便他。和往常一樣…

zemax微透鏡陣列示例_陣列反向! Ruby中的示例方法

zemax微透鏡陣列示例陣列反向! 方法 (Array reverse! Method) In this article, we will study about Array.reverse! method. You all must be thinking the method must be doing something related to reversing certain elements as we have done in the case o…

Opencv實戰【1】人臉檢測并對ROI區域進行部分處理(變身喬碧蘿!!!)

步驟: 1、利用Opencv自帶的分類器檢測人臉 預備知識:Haar特征分類器 Haar特征分類器就是一個XML文件,該文件中會描述人體各個部位的Haar特征值。包括人臉、眼睛、嘴唇等等。 Haar特征分類器存放地址: (找自己的安裝…

【黑馬甄選離線數倉day10_會員主題域開發_DWS和ADS層】

day10_會員主題域開發 會員主題_DWS和ADS層 DWS層開發 門店會員分類天表: 維度指標: 指標:新增注冊會員數、累計注冊會員數、新增消費會員數、累計消費會員數、新增復購會員數、累計復購會員數、活躍會員數、沉睡會員數、會員消費金額 維度: 時間維度&#xff08…