<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

淺談圖像處理-harris角點檢測算法

QQ475400555 ? 來源:機器視覺沙龍 ? 2023-09-22 15:46 ? 次閱讀

通常意義上來說,角點就是極值點,即在某方面屬性特別突出的點,是在某些屬性上強度最大或者最小的孤立點、線段的終點。對于圖像而言,其是物體輪廓線的連接點。

1 harris角點檢測算法思想

算法的核心是利用局部窗口在圖像上進行移動,判斷灰度是否發生較大的變化。如果窗口內的灰度值(在梯度圖上)都有較大的變化,那么這個窗口所在區域就存在角點。

這樣就可以將 Harris 角點檢測算法分為以下三步:

1,當窗口(局部區域)同時向 x (水平)和 y(垂直) 兩個方向移動時,計算窗口內部的像素值變化量 E(x,y);

2,對于每個窗口,都計算其對應的一個角點響應函數 R;

3,然后對該函數進行閾值處理,如果 R>threshold,表示該窗口對應一個角點特征。

2

建立數學模型

第一步是通過建立數學模型,確定哪些窗口會引起較大的灰度值變化。讓一個窗口的中心位于灰度圖像的一個位置(x,y),這個位置的像素灰度值為I(x,y),如果這個窗口分別向 x和 y 方向移動一個小的位移u和v,到一個新的位置 (x+u,y+v),這個位置的像素灰度值就是I(x+u,y+v)。|I(x+u,y+v)?I(x,y)|就是窗口移動引起的灰度值的變化值。

設w(x,y)為位置(x,y)處的窗口函數,表示窗口內各像素的權重,最簡單的就是把窗口內所有像素的權重都設為1,即一個均值濾波核。當然,也可以把 w(x,y)設定為以窗口中心為原點的高斯分布,即一個高斯核。

9bcccb16-58db-11ee-939d-92fbcf53809c.png

如果窗口中心點像素是角點,那么窗口移動前后,中心點的灰度值變化非常強烈,所以該點權重系數應該設大一點,表示該點對灰度變化的貢獻較大;而離窗口中心(角點)較遠的點,這些點的灰度變化比較小,于是將權重系數設小一點,表示該點對灰度變化的貢獻較小。

則窗口在各個方向上移動(u,v)所造成的像素灰度值的變化量公式如下:

9bdd21b4-58db-11ee-939d-92fbcf53809c.png

若窗口內是一個角點,則E(u,v)的計算結果將會很大。為了提高計算效率,對上述公式進行簡化,利用泰勒級數展開來得到這個公式的近似形式。

對于二維的泰勒展開式公式為:

T(x,y)=f(u,v)+(x?u)fx(u,v)+(y?v)fy(u,v)+....

則I(x+u,y+v) 為:

I(x+u,y+v)=I(x,y)+uIx+vIy

其中Ix和Iy是I的微分(偏導),在圖像中就是求x 和 y 方向的梯度圖:

Ix=?I(x,y)/?x

Iy=?I(x,y)/?y

將I(x+u,y+v)=I(x,y)+uIx+vIy代入E(u,v)可得:

9be7b304-58db-11ee-939d-92fbcf53809c.png

提出 u 和 v ,得到最終的近似形式:

9bf3ca5e-58db-11ee-939d-92fbcf53809c.png

其中矩陣M為:

9c006bec-58db-11ee-939d-92fbcf53809c.png

最后是把實對稱矩陣對角化處理后的結果,可以把R看成旋轉因子,其不影響兩個正交方向的變化分量。經對角化處理后,將兩個正交方向的變化分量提取出來,就是 λ1 和 λ2(特征值)。

這里利用了線性代數中的實對稱矩陣對角化的相關知識,有興趣的同學可以進一步查閱相關資料。

3

角點響應函數R

現在我們已經得到E(u,v)的最終形式,別忘了我們的目的是要找到會引起較大的灰度值變化的那些窗口。

灰度值變化的大小則取決于矩陣M,M為梯度的協方差矩陣。在實際應用中為了能夠應用更好的編程,所以定義了角點響應函數R,通過判定R大小來判斷像素是否為角點。

計算每個窗口對應的得分(角點響應函數R定義):

9c15854a-58db-11ee-939d-92fbcf53809c.png

其中 det(M)=λ1λ2是矩陣的行列式,trace(M)=λ1+λ2是矩陣的跡。λ1和 λ2是矩陣M的特征值,k是一個經驗常數,在范圍 (0.04, 0.06) 之間。R的值取決于M的特征值,對于角點∣R∣很大,平坦的區域∣R∣很小,邊緣的R為負值。

4

角點判定

根據 R 的值,將這個窗口所在的區域劃分為平面、邊緣或角點。為了得到最優的角點,我們還可以使用非極大值抑制。

注意:Harris 檢測器具有旋轉不變性,但不具有尺度不變性,也就是說尺度變化可能會導致角點變為邊緣。想要尺度不變特性的話,可以關注SIFT特征。

因為特征值 λ1 和 λ2 決定了 R 的值,所以我們可以用特征值來決定一個窗口是平面、邊緣還是角點:

平面:該窗口在平坦區域上滑動,窗口內的灰度值基本不會發生變化,所以∣R∣ 值非常小,在水平和豎直方向的變化量均較小,即 Ix和 Iy都較小,那么 λ1 和 λ2 都較??;

邊緣:∣R∣值為負數,僅在水平或豎直方向有較大的變化量,即 Ix和Iy只有一個較大,也就是 λ1>>λ2 或 λ2>>λ1;

角點:[公式] 值很大,在水平、豎直兩個方向上變化均較大的點,即 Ix和 Iy都較大,也就是 λ1 和 λ2 都很大。

如下圖所示:

9c328dac-58db-11ee-939d-92fbcf53809c.png

Harris 角點檢測的結果是帶有這些分數 R 的灰度圖像,設定一個閾值,分數大于這個閾值的像素就對應角點。

編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 圖像處理
    +關注

    關注

    26

    文章

    1240

    瀏覽量

    56065
  • 閾值
    +關注

    關注

    0

    文章

    120

    瀏覽量

    18378
  • Harris
    +關注

    關注

    0

    文章

    9

    瀏覽量

    8163

原文標題:圖像處理-harris角點檢測

文章出處:【微信號:機器視覺沙龍,微信公眾號:機器視覺沙龍】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于FPGA的圖像點檢測

    有沒有用verilog語言寫的基于FPGA的圖像點檢測代碼呀?
    發表于 04-10 10:47

    人臉檢測算法及新的快速算法

    最近幾年的人臉檢測算法和一種新的快速算法,與大家探討特征、弱分類器、收斂準則、樣本選擇等對人臉檢測性能的影響,并嘗試分析人臉姿態、表情、遮擋、年齡、種族等影響因素。2013年全國圖像
    發表于 09-26 15:13

    基于matlab的圖像處理--飛機檢測

    ,一種自適應的Harris點檢測算法2013年6月,何楚等,基于分層自適應部分的遙感圖像飛機目標檢測2011年9月,仇建斌等,
    發表于 09-30 11:46

    機器視覺圖像處理點檢測技術

    點檢測算法、Harris點檢測算法、KLT點檢測算法及SUSAN
    發表于 01-22 13:46

    【DragonBoard 410c試用體驗】 之OpenCV中之圖像點檢測實現

    ( WINDOW_NAME2, scaledImage );}這里代碼稍微有點多,不過我們主要看cornerHarris 函數,它這才是用于在OpenCV中運行Harris點檢測算處理
    發表于 09-13 19:46

    ADI峰值和起始點檢測算法對比傳統診斷法有什么優點?

    一種可靠的峰值和起始點檢測算法,該算法使用最初被提議用于動脈血壓(ABP)波形的描繪方法。
    發表于 07-30 06:05

    對手腕PPG信號實施PRV分析的可靠峰值和起始點檢測算法解析

    本文提出了可對手腕PPG信號實施PRV分析的可靠峰值和起始點檢測算法。
    發表于 06-17 09:25

    大家有會opencv的嗎,harris點檢測 的公式,大部分資料都是直接給出公式R=detM-(traceM)2,請問你能給出推導過程嗎

    harris點檢測的公式,大部分資料都是直接給出公式R=detM-(traceM)2,請問你能給出推導過程嗎
    發表于 08-30 17:37

    基于圖像距離差的織物疵點檢測算法

    本文將機器視覺與數字圖像處理技術引入到織物疵點檢測中,提出了一種織物疵點檢測算法——圖像距離差
    發表于 05-27 13:12 ?17次下載

    基于數字圖像處理的表面裂紋檢測算法

    本文提出了一種基于數字圖像處理技術的表面裂紋檢測算法。運用這種算法能精確的檢測裂紋的位置、長度等特征。將這種裂紋
    發表于 08-21 10:37 ?36次下載

    基于小波變換多尺度Harris點檢測算法

    提出一種新的基于小波變換的Harris 多尺度角點檢測算法,可以在不同的尺度下獲取角點,克服了單一尺度的Harris點檢測算法可能存在的角點信息丟失和易受噪聲影響而
    發表于 01-09 11:18 ?41次下載

    Harris點檢測

    《OpenCV3編程入門》書本配套源代碼:Harris點檢測
    發表于 06-06 15:20 ?4次下載

    一種雙門限語音端點檢測算法的ASIC實現

    一種雙門限語音端點檢測算法的ASIC實現
    發表于 01-07 20:32 ?1次下載

    局部密度離群點檢測算法

    已有的密度離群點檢測算法LOF不能適應數據分布異常情況離群點檢測,INFLO算法雖引入反向五近鄰點集有效地解決了數據分布異常情況的離群點檢測問題,但存在需要對所有數據點不加區分地分析其
    發表于 11-25 09:34 ?6次下載
    局部密度離群<b class='flag-5'>點檢測算法</b>

    基于高斯金字塔圖像的改進Harris特征點檢測算法

    為了提高海面特征點檢測的準確度和三維重建的精度,在基于傳統的μaris算法的基礎上,提岀Ⅰ種基于高斯金字塔圖像的改進Hars特征點檢測算法。利用搭建的雙目相機泙臺,對海浪
    發表于 05-06 17:03 ?18次下載
    基于高斯金字塔<b class='flag-5'>圖像</b>的改進<b class='flag-5'>Harris</b>特征<b class='flag-5'>點檢測算法</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>