1.為每個點計算四個方向的梯度,并將每個點的最大梯度保存
2.從點(d, d)遍歷每個點
3.從左上到右下遍歷(x, y),且滿足d<= x < width-d d <= y < height?d,否則轉步驟8
4..判斷所選點(x,y)的灰度值是否小于整個影像的平均灰度值。如果是,轉到步驟3
5.從這一點開始檢查d范圍內的梯度值。如果該區域內的梯度值大于α,則轉到步驟3
6.檢查在此點的d范圍內是否已存在特征點。如果有,轉到步驟3),然后開始下一個點的遍歷
7..將點的坐標保存在特征點集中,并將其添加到暫存器計數中,然后轉到步驟3)
8.遍歷結束后,判斷count的值是否等于N。如果是,則演算法結束。否則,如果大于N,則增加d的值。開始遍歷并再次判斷,直到它們相同為止。如果較小,則在計數大于N的情況下選擇最后一次的結果,并由程式隨機拒絕計數為N的特征點。如果第一次計數小于N,則減小d的值,這與計數大于N的情況類似
N是特征點的總數,count是提取的特征點,d是由演算法本身調整的半徑,α是區分點是否在邊緣的梯度閾值,width是影像的寬度,height是影像的高度
uj5u.com熱心網友回復:
背誦課文么
uj5u.com熱心網友回復:
沒有 沒有 就是能不能代碼復述出來轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/49245.html
標籤:C++ 語言
