您好,登錄后才能下訂單哦!
本篇內容介紹了“Harris角點的檢測原理與流程介紹”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1. 角點概述
角點是圖像很重要的特征,對圖像圖形的理解和分析有很重要的作用。角點在保留圖像圖形重要特征的同時,可以有效地減少信息的數據量,使其信息的含量很高,有效地提高了計算的速度,有利于圖像的可靠匹配,使得實時處理成為可能。角點在三維場景重建運動估計,目標跟蹤、目標識別、圖像配準與匹配等計算機視覺領域起著非常重要的作用。
在現實世界中,角點對應于物體的拐角,道路的十字路口、丁字路口等。從圖像分析的角度來定義角點可以有以下兩種定義:
a. 角點可以是兩個邊緣的角點;
b. 角點是鄰域內具有兩個主方向的特征點;
前者往往需要對圖像邊緣進行編碼,這在很大程度上依賴于圖像的分割與邊緣提取,具有相當大的難度和計算量,且一旦待檢測目標局部發生變化,很可能導致操作的失敗。早期主要有Rosenfeld和Freeman等人的方法,后期有CSS等方法。基于圖像灰度的方法通過計算點的曲率及梯度來檢測角點,避免了第一類方法存在的缺陷,此類方法主要有Moravec算子、Forstner算子、Harris算子、SUSAN算子等。這篇文章主要介紹的Harris角點檢測的算法原理。
2. Harris角點檢測基本原理
人眼對角點的識別通常是在一個局部的小區域或小窗口完成的。如果在各個方向上移動這個特征的小窗口,窗口內區域的灰度發生了較大的變化,那么就認為在窗口內遇到了角點。如果這個特定的窗口在圖像各個方向上移動時,窗口內圖像的灰度沒有發生變化,那么窗口內就不存在角點;如果窗口在某一個方向移動時,窗口內圖像的灰度發生了較大的變化,而在另一些方向上沒有發生變化,那么,窗口內的圖像可能就是一條直線的線段。如下圖:
首先,將圖像窗口平移[u,v]產生灰度變化的自相關函數如下:
其中窗口函數可以是平坦的,也可以是高斯的如下圖:
然而將平移后的式子進行泰勒展開如下:
則
由于是對局部微小的移動量 [u,v],所以 可以近似得到下面忽略余項之后的表達式為一個二項式函數:
又有
所以,
其中,M的表達式如下,可由圖像的導數求得:
上面我們說到,忽略余項之后的表達式為一個二項式函數,然而二項式函數的本質上就是一個橢圓函數,橢圓的扁率和尺寸是由M(x,y)的特征值λ1、λ2決定的,橢圓的方向是由M(x,y)的特征矢量決定的,如下圖所示,橢圓方程為:
橢圓函數特征值與圖像中的角點、直線(邊緣)和平面之間的關系如下圖所示。共可分為三種情況:
a. 圖像中的直線。一個特征值大,另一個特征值小,λ1>λ2或λ2>λ1。自相關函數值在某一方向上大,在其他方向上小。
b. 圖像中的平面。兩個特征值都小,且近似相等;自相關函數數值在各個方向上都小。
c. 圖像中的角點。兩個特征值都大,且近似相等,自相關函數在所有方向都增大。
由于我們是通過M的兩個特征值的大小對圖像進行分類,所以,定義角點相應函數R:
其中k為經驗常數,一般取k=0.04~0.06。
所以,上圖可以轉化為:
其中:
? R 只與M的特征值有關
? 角點:R 為大數值正數
? 邊緣:R 為大數值負數
? 平坦區:R 為小數值
在判斷角點的時候,–對角點響應函數R進行閾值處理:R > threshold,提取R的局部極大值。
3. 實例效果
原圖如下:
Harris角點檢測之后的圖:
“Harris角點的檢測原理與流程介紹”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。