DoG(Difference of Gaussian)DoG (Difference of Gaussian)是灰度圖像增強(qiáng)和角點(diǎn)檢測(cè)的方法,,其做法較簡(jiǎn)單,,證明較復(fù)雜,具體講解如下: Difference of Gaussian(DOG)是高斯函數(shù)的差分,。我們已經(jīng)知道可以通過(guò)將圖像與高斯函數(shù)進(jìn)行卷積得到一幅圖像的低通濾波結(jié)果,,即去噪過(guò)程,這里的Gaussian和高斯低通濾波器的高斯一樣,,是一個(gè)函數(shù),,即為正態(tài)分布函數(shù)。
那么difference of Gaussian 即高斯函數(shù)差分是兩幅高斯圖像的差,, 一維表示: 二維表示:
具體到圖像處理來(lái)講,,就是將兩幅圖像在不同參數(shù)下的高斯濾波結(jié)果相減,得到DoG圖,。
Laplacian圖像計(jì)算圖像的拉普拉斯是通過(guò)Sobel?操作計(jì)算圖像在x和y方向的二階偏導(dǎo)數(shù)的和: voidLaplacian(InputArray src, OutputArray dst, int ddepth, int ksize=1, double scale=1, double delta=0, int borderType=BORDER_DEFAULT)?
當(dāng)ksize>1使用上述偏導(dǎo)公式計(jì)算. 當(dāng)ksize==1 , 拉普拉斯圖像通過(guò)如下 aperture計(jì)算:
ksize=1,不太明顯,,選擇ksize>1時(shí),比較顯著,。
圖像金子塔 拉普拉斯金字塔與高斯金字塔是一個(gè)圖像集合,,集合中的所有圖像都源于一幅圖像,是通過(guò)連續(xù)下采樣獲得,。 高斯金字塔是向下采樣圖像,,而拉普拉斯金字塔是向上重建圖像。
高斯金字塔Down:降采樣(OpenCV里描述成Down,,注意也可以說(shuō)是向上層操作) 從第i層G(i)生成第i+1層G(i+1):首先使用高斯核進(jìn)行卷積,,然后刪除所有偶數(shù)行和偶數(shù)列,這樣獲得圖像大小僅為上一層的1/4,,然后不斷迭代,。
Up:(注意不是簡(jiǎn)單的降采樣的逆操作) 從第i+1層G(i+1)生成第i層G(i):首先每一維都擴(kuò)大兩倍,新的行(偶數(shù)行)以0填充,,然后使用指定的錄波器進(jìn)行卷積(實(shí)際上是在每一維都擴(kuò)大兩倍的濾波器:此濾波器的所有元素都被規(guī)范化為4,,而不是1。因?yàn)樵谥八胁迦胄械南袼刂刀紴?,所以這樣做是合理的)去估計(jì)“丟失”的近似值,,這樣獲得圖像大小為上一層的4倍,。
Laplacian金字塔高斯金字塔丟失的數(shù)據(jù)形成了拉普拉斯金子塔,數(shù)學(xué)公式如下: L(i)=G(i) - UP(G(i+1))*G(5x5) OpenCV可以使用: L(i)=G(i) - PyrUp(G(i+1))
|
|
來(lái)自: mscdj > 《計(jì)算機(jī)視覺(jué)》