當前位置:首頁 » 操作系統 » susan演算法

susan演算法

發布時間: 2022-04-18 08:45:37

A. 計算機視覺教程的目 錄

第1章緒論1
1.1計算機視覺1
1.1.1視覺1
1.1.2計算機視覺概述2
1.1.3相關學科3
1.1.4應用領域4
1.2圖像基礎4
1.2.1圖像4
1.2.2圖像表達和顯示6
1.2.3圖像存儲8
1.3像素間聯系10
1.3.1像素鄰域11
1.3.2像素間距離12
1.4本書內容提要14
1.4.1計算機視覺系統及模塊15
1.4.2如何學習使用本書16
總結和復習18
第2章視覺和視知覺20
2.1視覺過程和特性20
2.1.1視覺過程20
2.1.2視覺的時間特性22
2.1.3視覺的空間特性24
2.2形狀知覺25
2.2.1形狀的感知25
2.2.2輪廓26
2.2.3圖形和背景28
2.3空間知覺30
2.3.1非視覺性深度線索30
2.3.2雙目深度線索31
2.3.3單目深度線索33
2.4運動知覺35
總結和復習36
第3章圖像採集38
3.1採集模型38
3.1.1幾何成像模型38
3.1.2亮度成像模型43
3.2採集裝置44
3.2.1採集裝置及性能指標44
3.2.2空間和幅度解析度46
3.3採集方式47
3.3.1成像方式一覽47
3.3.2結構光法48
3.4攝像機標定50
3.4.1標定程序和步驟50
3.4.2兩級標定法52
總結和復習55
第4章圖像預處理57
4.1坐標變換57
4.1.1基本坐標變換57
4.1.2幾何失真校正59
4.2灰度映射61
4.2.1灰度映射原理62
4.2.2灰度映射示例62
4.3直方圖修正64
4.3.1直方圖均衡化64
4.3.2直方圖規定化66
4.4空域濾波70
4.4.1原理和分類70
4.4.2線性平滑濾波71
4.4.3線性銳化濾波72
4.4.4非線性平滑濾波73
4.4.5非線性銳化濾波74
總結和復習74
第5章基元檢測77
5.1邊緣檢測77
5.1.1檢測原理77
5.1.2一階導數運算元78
5.1.3二階導數運算元80
5.1.4邊界閉合82
5.2SUSAN運算元83
5.2.1USAN原理83
5.2.2角點和邊緣檢測84
5.3哈夫變換87
5.3.1基本哈夫變換原理87
5.3.2廣義哈夫變換原理88
5.3.3完整廣義哈夫變換90
5.4位置直方圖技術92
總結和復習94
第6章目標分割96
6.1輪廓搜索96
6.1.1圖搜索96
6.1.2動態規劃98
6.2主動輪廓模型99
6.2.1主動輪廓99
6.2.2能量函數100
6.3基本閾值技術103
6.3.1原理和分類103
6.3.2全局閾值的選取104
6.3.3局部閾值的選取106
6.3.4動態閾值的選取109
6.4特色閾值方法110
6.4.1多解析度閾值110
6.4.2過渡區閾值111
總結和復習114
第7章目標表達和描述116
7.1基於邊界的表達116
7.1.1鏈碼116
7.1.2邊界段和凸包118
7.1.3邊界標記119
7.2基於區域的表達121
7.2.1四叉樹121
7.2.2圍繞區域122
7.2.3骨架122
7.3基於邊界的描述125
7.3.1邊界長度和直徑125
7.3.2邊界形狀數126
7.4基於區域的描述127
7.4.1區域面積和密度127
7.4.2區域形狀數128
7.4.3不變矩129
7.4.4拓撲描述符131
總結和復習132
第8章形狀特性分析135
8.1形狀緊湊性描述符135
8.2形狀復雜性描述符141
8.3基於多邊形的形狀分析143
8.3.1多邊形的獲取143
8.3.2多邊形描述145
8.4基於曲率的形狀分析146
8.4.1輪廓曲率146
8.4.2曲面曲率149
總結和復習151
第9章立體視覺153
9.1立體視覺模塊153
9.2雙目成像和視差155
9.2.1雙目橫向模式155
9.2.2雙目橫向會聚模式157
9.2.3雙目縱向模式158
9.3基於區域的立體匹配159
9.3.1模板匹配160
9.3.2雙目立體匹配161
9.4基於特徵的立體匹配165
9.4.1點對點的方法165
9.4.2動態規劃匹配167
總結和復習168
第10章三維景物恢復171
10.1由光移恢復表面朝向171
10.1.1表面反射特性172
10.1.2目標表面朝向174
10.1.3反射圖174
10.1.4光度立體學求解176
10.2從明暗恢復形狀177
10.2.1明暗與形狀177
10.2.2求解亮度方程180
10.3紋理變化與表面朝向182
10.3.1三種典型變化182
10.3.2確定線段的紋理消失點184
10.4根據焦距確定深度185
總結和復習187
第11章運動分析189
11.1運動分類和表達189
11.2全局運動檢測193
11.2.1利用圖像差的運動檢測193
11.2.2基於模型的運動檢測196
11.3運動目標分割197
11.4運動光流和表面取向198
11.4.1光流約束方程199
11.4.2光流計算199
11.4.3光流與表面取向203
總結和復習205
第12章景物識別207
12.1統計模式分類207
12.1.1模式分類原理208
12.1.2最小距離分類器208
12.1.3最優統計分類器209
12.2感知機213
12.3支持向量機216
12.4結構模式識別219
12.4.1字元串結構識別219
12.4.2樹結構識別222
總結和復習224
第13章廣義匹配226
13.1目標匹配227
13.1.1匹配的度量227
13.1.2字元串匹配229
13.1.3慣量等效橢圓匹配231
13.2動態模式匹配233
13.3關系匹配235
13.3.1關系表達和距離235
13.3.2關系匹配模型237
13.4圖同構匹配238
13.4.1圖論基礎238
13.4.2圖同構和匹配241
總結和復習242
第14章場景解釋245
14.1線條圖標記解釋245
14.2體育比賽視頻排序248
14.3計算機視覺系統模型252
14.3.1多層次串列結構252
14.3.2以知識庫為中心的輻射結構253
14.3.3多模塊交叉配合結構254
14.4計算機視覺理論框架255
14.4.1馬爾視覺計算理論256
14.4.2對馬爾理論框架的改進258
14.4.3新理論框架的研究259
總結和復習262
部分練習題解答263
參考文獻273
索引282

B. susan運算元的susan運算元邊緣檢測

當圓形模板完全處在背景或目標中時,USAN 區域面積最大;當模板移向目標邊緣時,USAN 區域逐漸變小;當模板中心處於邊緣時,USAN 區域很小;當模板中心處於角點時,USAN 區域最小。
因此,可以通過計算每 1 個像素的 USAN 值,並與設定的門限值進行比較, 如果該像素的 USAN 值小於門限
值,則該點可以認為是 1 個邊緣點。這就是 SUSAN 演算法思想。

C. 蘇氏三父子代表作

1、蘇軾《賈誼論》

《賈誼論》是北宋文學家蘇軾創作的一篇人物評論文,評論對象為西漢初年文帝時期的政治家賈誼。全文緊扣賈誼失意而終展開,對賈誼的人格特質進行了深入分析,同時剖析當時的歷史背景,虛實結合、正反對比,用逐層推進的方式與堅定的語氣來凸顯賈誼的個性。

該文章勸說人君遇到賈誼這樣的人才,要大膽使用,不要錯過時機;勸解賈生式的人,要自愛其身,要善於自用其才。論證有理有據、層次分明。

2、蘇軾《題西林壁》

《題西林壁》是宋代文學家蘇軾的詩作。這是一首詩中有畫的寫景詩,又是一首哲理詩,哲理蘊含在對廬山景色的描繪之中。前兩句描述了廬山不同的形態變化。

廬山橫看綿延逶迤,崇山峻嶺鬱郁蔥蔥連環不絕;側看則峰巒起伏,奇峰突起,聳入雲端。從遠處和近處不同的方位看廬山,所看到的山色和氣勢又不相同。後兩句寫出了作者深思後的感悟:之所以從不同的方位看廬山,會有不同的印象,原來是因為「身在此山中」。

也就是說,只有遠離廬山,跳出廬山的遮蔽,才能全面把握廬山的真正儀態。全詩緊緊扣住游山談出自己獨特的感受,藉助廬山的形象,用通俗的語言深入淺出地表達哲理,故而親切自然,耐人尋味。

3、蘇轍《欒城集》

這是北宋蘇轍所著的詩文別集。《欒城集》早在宋代就早多種版本,有《應詔集》並多書章疏三十七篇的本子,現今見到最早的是宋刻《蘇文定公文集》,分《前集》五十卷,《後集》二十四卷、《三集》十卷,《應詔集》十二卷,共九十六卷。現存四十六卷。

其次是明清夢軒刻本《蘇文定公欒城集》,四卷數同上。再次是清道光壬辰眉州三蘇祠刻本,但卷數、文字與清夢軒本皆有出入。《前集》才四十八卷。中有清宛陵貢刻本,系清夢軒本的翻刻本。

4、蘇洵《權書》

《權書》由宋代蘇洵所撰,雖經年月,但仍為世人所用。其中精髓,如下言述:人有言曰:「儒者不言兵。」仁義之兵,無術而自勝。使仁義之兵無術而自勝也,則武王合用乎太公?而牧野之戰,「四伐攻、五伐、六伐、七伐乃止齊 焉。」又何用也?

《權書》,兵書也,而所以用仁濟義之術也。吾疾夫世之人不究本末,而妄以我為孫武之徒也。夫孫氏之言兵為常言也,而我以此書為不得已而言之之書也。故仁義不得已,而後吾《權書》用焉。然則《權書》,為仁義之窮而作也。

5、蘇軾《後赤壁賦》

《後赤壁賦》是北宋文學家蘇軾創作的一篇賦,作於宋神宗元豐五年(1082)貶謫黃州(今湖北黃岡)時,是《赤壁賦》的姊妹篇。與前篇純寫江上泛舟不同,後篇記游,以登岸履險為主,也無談玄說理的內容。

文章前面記真景真情,通過毫不雕琢的天然佳句,給人一種壯闊的美感;中間對踞石攀木、俯江長嘯的細致描寫,真切地表達了作者月夜登臨的情趣。最後寫夢見道士化鶴,純屬幻境幻覺,空靈奇幻,迷離恍惚,從中表現了作者內心悵然若失的苦悶。

D. susan運算元的susan運算元原理

SUSAN 運算元的模板與常規卷積演算法的正方形模板不同, 它採用一種近似圓形的模板, 用圓形模板在圖像上移動, 模板內部每個圖像像素點的灰度值都和模板中心像素的灰度值作比較, 若模板內某個像素的灰度與模板中心像素(核)灰度的差值小於一定值, 則認為該點與核具有相同(或相近)的灰度, 如下圖所示。由滿足這一條件的像素組成的區域稱為吸收核同值區(Univalue Segment Assimilating Nucleus, USAN)。

E. susan運算元的susan運算元特點

與其他邊緣和角點檢測運算元相比,SUSAN 運算元有一些獨特的地方。
(1)在用SUSAN運算元對邊緣和角點進行檢測時不需要計算微分,這使得SUSAN運算元對雜訊更加魯棒。
(2)SUSAN檢測運算元能提供不依賴於模板尺寸的邊緣精度。換句話說,最小USAN區域面積的計算是個相對的概念,與模版尺寸無關,所以SUSAN邊緣運算元的性能不受模版尺寸影響。
(3)控制參數的選擇很簡單,且任意性小,容易實現自動化選取。

F. susan運算元的介紹

SUSAN ( Small univalue segment assimilating nucleus) 運算元是一種基於灰度的特徵點獲取方法, 適用於圖像中邊緣和角點的檢測, 可以去除圖像中的雜訊, 它具有簡單、有效、抗雜訊能力強、計算速度快的特點。

G. 角點檢測的幾種基本方法

也稱為特徵點檢測。角點通常被定義為兩條邊的交點,更嚴格的說,角點的局部鄰域應該具有兩個不同區域的不同方向的邊界。而實際應用中,大多數所謂的角點檢測方法檢測的是擁有特定特徵的圖像點,而不僅僅是「角點」。這些特徵點在圖像中有具體的坐標,並具有某些數學特徵,如局部最大或最小灰度、某些梯度特徵等。現有的角點檢測演算法並不是都十分的魯棒。很多方法都要求有大量的訓練集和冗餘數據來防止或減少錯誤特徵的出現。角點檢測方法的一個很重要的評價標準是其對多幅圖像中相同或相似特徵的檢測能力,並且能夠應對光照變化、圖像旋轉等圖像變化。 Moravec角點檢測演算法Moravec角點檢測演算法是最早的角點檢測演算法之一。該演算法將角點定義為具有低「自相關性」的點。演算法會檢測圖像的每一個像素,將像素周邊的一個鄰域作為一個patch,並檢測這個patch和周圍其他patch的相關性。這種相關性通過兩個patch間的平方差之和(SSD)來衡量,SSD值越小則相似性越高。如果像素位於平滑圖像區域內,周圍的patch都會非常相似。如果像素在邊緣上,則周圍的patch在與邊緣正交的方向上會有很大差異,在與邊緣平行的方向上則較為相似。而如果像素是各個方向上都有變化的特徵點,則周圍所有的patch都不會很相似。Moravec會計算每個像素patch和周圍patch的SSD最小值作為強度值,取局部強度最大的點作為特徵點。 Harris角點檢測演算法Moravec角點檢測演算法有幾個很明顯的缺陷:1,強度值的計算並不是各向同性的,只有離散的8個45度角方向被考慮。因為patch的評議比較最多隻有8個方向;2,由於窗口是方形並且二元的,因此相應函數會有雜訊;3,對邊緣的相應太簡單,因為強度值盡取SSD的最小值; FAST角點檢測演算法Smith 和 Brady在1997年提出了一種完全不同的角點提取方法,即「SUSAN (Smallest UnivalueSegment AssimilatingNucleus)」提取運算元。SUSAN 提取運算元的基本原理是,與每一圖像點相關的局部區域具有相同的亮度。如果某一窗口區域內的每一像元亮度值與該窗口中心的像元亮度值相同或相似,這一窗口區域將被稱之為「USAN」。計算圖像每一像元的「USAN」,為我們提供了是否有邊緣的方法。位於邊緣上的像元的「USAN」較小,位於角點上的像元的「USAN」更小。因此,我們僅需尋找最小的「USAN」,就可確定角點。該方法由於不需要計算圖像灰度差,因此,具有很強的抗雜訊的能力。Edward Rosten and TomDrummond 在2006年提出了一種簡單快速的角點探測演算法,該演算法檢測的角點定義為在像素點的周圍鄰域內有足夠多的像素點與該點處於不同的區域。應用到灰度圖像中,即有足夠多的像素點的灰度值大於該點的灰度值或者小於該點的灰度值。考慮下圖中p點附近半徑為3的圓環上的16個點,一個思路是若其中有連續的12個點的灰度值與p點的灰度值差別超過某一閾值,則可以認為p點為角點。這一思路可以使用機器學習的方法進行加速。對同一類圖像,例如同一場景的圖像,可以在16個方向上進行訓練,得到一棵決策樹,從而在判定某一像素點是否為角點時,不再需要對所有方向進行檢測,而只需要按照決策樹指定的方向進行2-3次判定即可確定該點是否為角點。

H. 求助VB高手!!有關圖象銳化的問題

事實上有大量的邊緣提取演算法,這里介紹幾種常用的比較簡單的邊緣提取演算法.其實邊緣提取演算法也可以算是圖像二值化演算法,只是更突出圖像中拐點的地方.

圖像邊緣的種類可以分為兩種:一種稱為階躍性邊緣,它兩邊像素的灰度值有著顯著的不同;另一種稱為屋頂狀邊緣,它位於灰度值從增加到減少的變化轉折點。對於階躍性邊緣,二階方向導數在邊緣處呈零交叉;而對於屋頂狀邊緣,二階導數在邊緣處取極值。 通常的邊緣提取方法是先通過邊緣運算元找到圖像中可能的邊緣點,再把這些點連接起來形成封閉的邊界。 邊緣檢測困難在於物體之間相接觸、互遮擋或者由於雜訊等原因引起的邊緣間斷。

其中susan和canny演算法我用過,可以結合兩種演算法的結果使用...

1.susan運算元
SUSAN運算元是一種基於圖像局部灰度特徵的演算法,利用一個圓形的模板對圖像進行掃描,比較模板內部的點與模板中心點的灰度值,如果灰度差值小於一定的閾值,就認為該點與中心點的灰度相同。統計模板內部與中心點灰度相同的點的個數,與一個閾值進行比較,判斷該點是否屬於某個區域的邊緣點,從而實現對圖像的分割。
//-----------------------------------------------------------------------
//c/c++描述
/**************************************************
SUSAN邊緣檢測
parameter: HDIB
return: HDIB
**************************************************/
HDIB SUSANEdgeDetectDIB(HDIB hDib){
SetCursor(LoadCursor(NULL, IDC_WAIT));

DWORD dwDataLength = GlobalSize(hDib);
HDIB hNewDib = GlobalAlloc(GHND,dwDataLength);
if(!hNewDib){
SetCursor(LoadCursor(NULL, IDC_ARROW));
return NULL;
}
LPBYTE lpDIB = (LPBYTE)GlobalLock(hNewDib);
if(lpDIB == NULL){
SetCursor(LoadCursor(NULL, IDC_ARROW));
return NULL;
}

LPBYTE lpDIBSrc = (LPBYTE)GlobalLock(hDib);

memcpy(lpDIB, lpDIBSrc,
sizeof(BITMAPINFOHEADER)+PaletteSize(lpDIBSrc));

DWORD lSrcWidth = DIBWidth(lpDIBSrc);
DWORD lSrcHeight = DIBHeight(lpDIBSrc);
WORD wBitCount = ((LPBITMAPINFOHEADER)lpDIBSrc)->biBitCount;
DWORD lSrcRowBytes = WIDTHBYTES(lSrcWidth*((DWORD)wBitCount));
LPBYTE lpOldBits = FindDIBBits(lpDIBSrc);
LPBYTE lpData = FindDIBBits(lpDIB);

//圖像變換開始//////////////////////////////////////////
DWORD i, j, h, k, offset;
int NearPoint[37];
int OffSetX[37] = { -1, 0, 1,
-2,-1, 0, 1, 2,
-3,-2,-1, 0, 1, 2, 3,
-3,-2,-1, 0, 1, 2, 3,
-3,-2,-1, 0, 1, 2, 3,
-2,-1, 0, 1, 2,
-1, 0, 1 };
int OffSetY[37] = { -3,-3,-3,
-2,-2,-2,-2,-2,
-1,-1,-1,-1,-1,-1,-1,
0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1,
2, 2, 2, 2, 2,
3, 3, 3 };

if(wBitCount == 8){
int thre, same, max, min;

//統計象素亮度最大值和最小值
max = min = 0;
for(i=0;i<lSrcHeight;i++)
for(j=0;j<lSrcWidth;j++){
offset = lSrcRowBytes*i+j;
if(max < (int)(*(lpOldBits+offset)))
max = (int)(*(lpOldBits+offset));
if(min > (int)(*(lpOldBits+offset)))
min = (int)(*(lpOldBits+offset));
}

//相似度閾值為最大值和最小值差的1/10
thre = (max-min)/10;

for(i=3;i<lSrcHeight-3;i++)
for(j=3;j<lSrcWidth-3;j++){
//統計圓形鄰域內相似的點的個數
same = 0;
for(h=0;h<37;h++)
NearPoint[h] = (int)(*(lpOldBits+lSrcRowBytes*(i+OffSetY[h])+(j+OffSetX[h])));
for(h=0;h<37;h++)
if(((int)abs(NearPoint[h]-NearPoint[18])) <= thre) same ++;

if(same > 27)
*(lpData+lSrcRowBytes*i+j) = 255;
else *(lpData+lSrcRowBytes*i+j) = 0;
}
}

if(wBitCount == 24){
int theSame[3], theMax[3], theMin[3], theThre[3];

memset(theMax, 0, sizeof(int)*3);
memset(theMin, 0, sizeof(int)*3);
for(i=0;i<lSrcHeight;i++)
for(j=0;j<lSrcWidth;j++){
offset = lSrcRowBytes*i+j*3;
for(k=0;k<3;k++){
if(theMax[k] < (int)(*(lpOldBits+offset+k)))
theMax[k] = (int)(*(lpOldBits+offset+k));
if(theMin[k] > (int)(*(lpOldBits+offset+k)))
theMin[k] = (int)(*(lpOldBits+offset+k));
}
}

for(k=0;k<3;k++)
theThre[k] = (theMax[k]-theMin[k])/10;

for(i=3;i<lSrcHeight-3;i++)
for(j=3;j<lSrcWidth-3;j++){
memset(theSame, 0, sizeof(int)*3);
for(k=0;k<3;k++){
for(h=0;h<37;h++)
NearPoint[h] = (int)(*(lpOldBits+lSrcRowBytes*(i+OffSetY[h])+(j+OffSetX[h])*3+k));
for(h=0;h<37;h++)
if(((int)abs(NearPoint[h]-NearPoint[18])) <= theThre[k]) theSame[k] ++;
}

if((theSame[0] > 27) && (theSame[1] > 27) && (theSame[2] > 27))
memset(lpData+lSrcRowBytes*i+j*3, 255, 3);
else
memset(lpData+lSrcRowBytes*i+j*3, 0, 3);
}
}

GlobalUnlock(hDib);
GlobalUnlock(hNewDib);
SetCursor(LoadCursor(NULL, IDC_ARROW));

return hNewDib;
}

2.canny運算元
Canny邊緣檢測基本原理
(1)圖象邊緣檢測必須滿足兩個條件:一能有效地抑制雜訊;二必須盡量精確確定邊緣的位置。
(2)根據對信噪比與定位乘積進行測度,得到最優化逼近運算元。這就是Canny邊緣檢測運算元。
(3)類似與Marr(LoG)邊緣檢測方法,也屬於先平滑後求導數的方法。

演算法比較內容比較多,有需要的朋友可以到這兒看(http://www.pcdog.com/e/develop-tools/2005/08/f067918.html).

3.sobel運算元

Sobel 運算元有兩個,一個是檢測水平邊沿的 ;另一個是檢測垂直平邊沿的 。與 和 相比,Sobel運算元對於象素的位置的影響做了加權,因此效果更好。
Sobel運算元另一種形式是各向同性Sobel(Isotropic Sobel)運算元,也有兩個,一個是檢測水平邊沿的 ,另一個是檢測垂直平邊沿的。各向同性Sobel運算元和普通Sobel運算元相比,它的位置加權系數更為准確,在檢測不同方向的邊沿時梯度的幅度一致。由於建築物圖像的特殊性,我們可以發現,處理該類型圖像輪廓時,並不需要對梯度方向進行運算,所以程序並沒有給出各向同性Sobel運算元的處理方法。
由於Sobel運算元是濾波運算元的形式,用於提取邊緣,可以利用快速卷積函數,簡單有效,因此應用廣泛。美中不足的是,Sobel運算元並沒有將圖像的主體與背景嚴格地區分開來,換言之就是Sobel運算元沒有基於圖像灰度進行處理,由於Sobel運算元沒有嚴格地模擬人的視覺生理特徵,所以提取的圖像輪廓有時並不能令人滿意。 在觀測一幅圖像的時候,我們往往首先注意的是圖像與背景不同的部分,正是這個部分將主體突出顯示,基於該理論,我們給出了下面閾值化輪廓提取演算法,該演算法已在數學上證明當像素點滿足正態分布時所求解是最優的。

/// <summary>
/// 按 Sobel 運算元進行邊緣檢測
/// </summary>
/// <param name="b">點陣圖流</param>
/// <returns></returns>
public Bitmap Sobel(Bitmap b)
{
Matrix3x3 m = new Matrix3x3();

// -1 -2 -1
// 0 0 0
// 1 2 1
m.Init(0);
m.TopLeft = m.TopRight = -1;
m.BottomLeft = m.BottomRight = 1;
m.TopMid = -2;
m.BottomMid = 2;
Bitmap b1 = m.Convolute((Bitmap)b.Clone());

// -1 0 1
// -2 0 2
// -1 0 1
m.Init(0);
m.TopLeft = m.BottomLeft = -1;
m.TopRight = m.BottomRight = 1;
m.MidLeft = -2;
m.MidRight = 2;
Bitmap b2 = m.Convolute((Bitmap)b.Clone());

// 0 1 2
// -1 0 1
// -2 -1 0
m.Init(0);
m.TopMid = m.MidRight = 1;
m.MidLeft = m.BottomMid = -1;
m.TopRight = 2;
m.BottomLeft = -2;
Bitmap b3 = m.Convolute((Bitmap)b.Clone());

// -2 -1 0
// -1 0 1
// 0 1 2
m.Init(0);
m.TopMid = m.MidLeft = -1;
m.MidRight = m.BottomMid = 1;
m.TopLeft = -2;
m.BottomRight = 2;
Bitmap b4 = m.Convolute((Bitmap)b.Clone());

// 梯度運算
b = Gradient(Gradient(b1, b2), Gradient(b3, b4));

b1.Dispose(); b2.Dispose(); b3.Dispose(); b4.Dispose();

return b;
} // end of Sobel

4.還有Laplace,Gobar,Roberts等等... 沒有詳細了解過,也不介紹了.

I. moravec運算元,susan運算元,css運算元,fast運算元,harris運算元哪個對模糊的魯棒性好

Harris運算元介紹:
該運算元是C.Harris和M.J.Stephens在1988年提出的一種點特徵提取運算元。這種運算元受信號處理中自相關函數的啟發,可以給出圖像中某一像素點的自相關矩陣肘,其特徵值是自相關函數的一階曲率,如果算,Y兩個方向上的曲率值都高,那麼就認為該點是角點。Harris角點檢測運算元
Harris[2]角點檢測運算元是Moravec角點檢測運算元的改進.
(1)運算元用高斯函數代替二值窗口函數,對離中心點越近的像素賦於越大的權重,以減少雜訊影響。

圖1-3高斯函數
(2)運算元只考慮了每隔45度方向,Harris運算元用Taylor展開去近似任意方向。

寫成矩陣形式: :

式子(1-2)

式子(1-3)
式中,Ix為x方向的差分,Iy為y方向的差分,w(x,y)為高斯函數。
(3)Harris採用了一種新的角點判定方法。矩陣M的兩個特徵向量l1和l2與矩陣M的主曲率成正比。Harris利用l1, l2來表徵變化最快和最慢的兩個方向.若兩個都很大就是角點,一個大一個小就是邊緣,兩個都小就是在變化緩慢的圖像區域.

來自文獻[11]
圖1- 4用矩陣M的特徵向量分類圖像像素點
但是解特徵向量需要比較多的計算量,且兩個特徵值的和等於矩陣M的跡,兩個特徵值的積等於矩陣M的行列式。所以用(1-4)式來判定角點質量。(k常取0.04-0.06)
(1-4)
(4) Harris演算法總結
Step 1:對每一像素點計算相關矩陣M。

Step 2:計算每像素點的Harris 角點響應。

Step 3.在w*w范圍內尋找極大值點,若Harris 角點響應大於閥值,則視為角點。
Harris運算元對灰度的平移是不變的,因為只有差分,對旋轉也有不變性,但是對尺度很敏感,在一個尺度下是角點, 在在另一個尺度下可能就不是了.

圖1- 5harris運算元對尺度的敏感性

圖1- 6harris運算元對簡單圖像的響應
Harris 運算元是一種有效的點特徵提取運算元,其優點總結起來有:
①計算簡單:Harris 運算元中只用到灰度的一階差分以及濾波,操作簡單。
②提取的點特徵均勻而且合理:Harris 運算元對圖像中的每個點都計算其興趣值,然後在鄰域中選擇最優點。實驗表明,在紋理信息豐富的區域,Harris 運算元可以提取出大量有用的特徵點,而在紋理信息少的區域,提取的特徵點則較少。
③穩定:Harris運算元的計算公式中只涉及到一階導數,因此對圖像旋轉、灰度變化、雜訊影響和視點變換不敏感,它也是比較穩定的一種點特徵提取運算元。
Harris 運算元的局限性有:
①它對尺度很敏感,不具有尺度不變性。
②提取的角點是像素級的。
[2]Chris Harris, Mike Stephens, A Combined Corner and Edge Detector, 4th Alvey Vision Conference, 1988, pp147-151

J. SUSAN運算元的特點

SUSAN運算元是一種基於圖像局部灰度特徵的演算法,利用一個圓形的模板對圖像進行掃描,比較模板內部的點與模板中心點的灰度值,如果灰度差值小於一定的閾值,就認為該點與中心點的灰度相同。統計模板內部與中心點灰度相同的點的個數,與一個閾值進行比較,判斷該點是否屬於某個區域的邊緣點,從而實現對目標的檢測。與傳統的全局閾值相比,該演算法抗干擾能力較強,實時性較好,能夠快速、可靠地檢測出標。

熱點內容
劍靈伺服器為什麼這么卡 發布:2024-09-30 11:31:24 瀏覽:677
linux中文輸入法設置 發布:2024-09-30 11:13:34 瀏覽:802
返佣網站源碼 發布:2024-09-30 11:08:50 瀏覽:616
iphone源碼 發布:2024-09-30 11:04:04 瀏覽:827
手機安卓槍模擬游戲叫什麼 發布:2024-09-30 10:54:51 瀏覽:915
linuxrpc 發布:2024-09-30 10:53:25 瀏覽:410
決策樹演算法的實現 發布:2024-09-30 10:52:46 瀏覽:667
觀察物體腳本 發布:2024-09-30 10:52:37 瀏覽:377
王牌對王牌長視頻緩存 發布:2024-09-30 10:12:41 瀏覽:624
c語言y加加 發布:2024-09-30 10:04:11 瀏覽:77