SUSAN算子的實現(xiàn)_第1頁
SUSAN算子的實現(xiàn)_第2頁
SUSAN算子的實現(xiàn)_第3頁
SUSAN算子的實現(xiàn)_第4頁
SUSAN算子的實現(xiàn)_第5頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、SUSAN算子的實現(xiàn)一、 實驗內(nèi)容特征點即圖像的極值點、線段的端點、曲線曲率最大點,它保留了圖像的重要特征,可以代替圖像的處理,有效減少數(shù)據(jù)量,提高處理速度。本實驗要求通過課堂講授知識,利用SUSAN算子實現(xiàn)特征點的提取。二、 實驗原理1. SUSAN算子SUSAN算子是牛津大學的Smith教授提出的,只使用一個圓形模板來計算各向同性的響應,既可檢測目標邊緣點,又能檢測圖像中的角點,且具有較強的魯棒性。2. 基本思想SUSAN算子使用圓形模板,通過檢測模板范圍內(nèi)的核同值區(qū)域(USAN)的面積大小,判斷該像素(核)是否為角點。有如下結(jié)論:(1) USAN面積大于一半,核位于灰度一致區(qū);(2) U

2、SAN面積小,核接近邊緣;(3) USAN面積最小,核位于角點。三、 基本原理與步驟(1) 選擇圓形模板,共37個像素,按照從左至右從上至下的順序存入數(shù)組,中心像素(核)為第十九個像素;(2) 找出核同值像素,并計算核同值區(qū)域的面積:Cx0,y0;x,y=1 fx0,y0-f(x,y)T0 fx0,y0-f(x,y)TSx0,y0=(x,y)M(x,y)C(x0,y0;x,y)Sx0,y0即為核同值區(qū)域面積。(3) 閾值化得到初步的邊緣響應Rx0,y0=G-Sx0,y0 Sx0,y02; j-)for(i = 3;i lWidth-3; i+)/由于使用77的模板,為防止越界,所以不處理最下邊

3、和最右邊的兩列像素/ 指向源圖像第j行,第i個象素的指針lpSrc = (char *)lpDIBBits + lWidth * j + i;/ 指向目標圖像第j行,第i個象素的指針lpDst = (char *)lpNewDIBBits + lWidth * j + i;pixel0 = (unsigned char)*(lpSrc - 3*lWidth-1);pixel1 = (unsigned char)*(lpSrc - 3*lWidth);pixel2 = (unsigned char)*(lpSrc - 3*lWidth+1);pixel3 = (unsigned char)*(l

4、pSrc - 2*lWidth-2);pixel4 = (unsigned char)*(lpSrc - 2*lWidth-1);pixel5 = (unsigned char)*(lpSrc - 2*lWidth);pixel6 = (unsigned char)*(lpSrc - 2*lWidth+1);pixel7 = (unsigned char)*(lpSrc - 2*lWidth+2);pixel8 = (unsigned char)*(lpSrc -lWidth-3);pixel9 = (unsigned char)*(lpSrc - lWidth-2);pixel10 = (u

5、nsigned char)*(lpSrc - lWidth-1);pixel11 = (unsigned char)*(lpSrc - lWidth);pixel12 = (unsigned char)*(lpSrc - lWidth + 1);pixel13 = (unsigned char)*(lpSrc - lWidth+2);pixel14 = (unsigned char)*(lpSrc - lWidth+3);pixel15 = (unsigned char)*(lpSrc -3);pixel16 = (unsigned char)*(lpSrc - 2);pixel17 = (u

6、nsigned char)*(lpSrc-1);pixel18 = (unsigned char)*lpSrc ;pixel19 = (unsigned char)*(lpSrc +1);pixel20 = (unsigned char)*(lpSrc +2);pixel21 = (unsigned char)*(lpSrc + 3);pixel22 = (unsigned char)*(lpSrc + lWidth-3);pixel23 = (unsigned char)*(lpSrc + lWidth-2);pixel24 = (unsigned char)*(lpSrc + lWidth

7、-1);pixel25 = (unsigned char)*(lpSrc + lWidth);pixel26 = (unsigned char)*(lpSrc + lWidth+1);pixel27 = (unsigned char)*(lpSrc + lWidth+2);pixel28 = (unsigned char)*(lpSrc+ lWidth+3);pixel29 = (unsigned char)*(lpSrc + 2*lWidth-2);pixel30 = (unsigned char)*(lpSrc + 2*lWidth-1);pixel31 = (unsigned char)

8、*(lpSrc + 2*lWidth);pixel32 = (unsigned char)*(lpSrc + 2*lWidth+1);pixel33 = (unsigned char)*(lpSrc + 2*lWidth+2);pixel34 = (unsigned char)*(lpSrc + 3*lWidth-1);pixel35 = (unsigned char)*(lpSrc + 3*lWidth);pixel36 = (unsigned char)*(lpSrc + 3*lWidth+1);int s=0;for(int k=0;k37;k+)if(abs(pixel18-pixel

9、k)27)s+;int r=0;if(s18) r=18-s;m_point.x=i;m_point.y=lHeight-1-j;g_point.push_back(m_point);elser=0;/ 返回return TRUE;五、 實驗結(jié)果原始圖像SUSAN算子提取角點六、 實驗分析()SUSAN算法是比較容易實現(xiàn)的角點檢測算法,按照課堂上講述的內(nèi)容,編譯難度較小,讓大家頭痛的地方在于如何把搜尋到的角點用畫筆描繪出來。開始我直接改變了像素的灰度值,把角點置為白色,效果還可以,但是有個最大的缺陷就是改變了原有圖像。后來在李建勝教員的幫助下,我可以用畫筆標出圖像中的角點,并且并未改變原有圖片。畫筆的使用算是本次實驗的額外收獲。()在最初代碼運行時,程序并未報錯,但是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論