Harris角點檢測原理

2021-08-02 10:57:48 字數 1009 閱讀 8067

本文**:

理論:「如果某一點在任意方向的乙個微小變動都會引起灰度很大的變化,那麼我們就把它稱之為角點」

由上面定義,我們可以想到演算法思路:去檢測影象畫素的灰度變化情況,即求解  

對於上式,我們希望找到使e的值盡量大的點,則,將上式右邊泰勒展開得:

整理可得:

,進而可以表示為下式

這裡考慮進去窗函式,設

於是,harris整理出harris運算元的公式:

讓我們來重新來考慮矩陣,一切的問題還得回歸到數學上去

,這個矩陣先擺在這裡,我們先看一下協方差矩陣。

協方差矩陣的作用為什麼比方差和均值要大呢?顯而易見方差和均值只是一維隨機變數的統計值,而協方差就不一樣了,它可以表示多維隨機變數之間的相關性資訊。協方差矩陣的乙個很出色的應用就是在pca中,選擇主方向。協方差矩陣的對角線的元素表示的是各個維度的方差,而非對角線上的元素表示的是各個維度之間的相關性,因此,在pca中,我們盡量將非對角線上的元素化為0,即將矩陣對角化,選特徵值較大的維度,去掉特徵值較小的維度,來獲得主方向,並且使主方向與其他方向的相關性盡量小。那現在看看這個矩陣m,通過上面對協方差的描述,我們完全可以把這個矩陣看做乙個二維隨機分布的協方差矩陣,那麼我們要做的就是將其對角化,求矩陣的兩個特徵值,然後根據這兩個特徵值來判斷是不是角點(兩個特徵值都大代表角點)。

而對於harris運算元來說,我們也可以寫成下式的形式:

下面我只是去驗證此式的正確性,至於它到底是根據什麼構造的,我還不清楚,如果有人知道,請告訴我一下~~

我們這裡設

像上面這樣去求解原則上是沒有問題的,可是,眾所周知,原始的harris角點檢測演算法不具有尺度不變性(也就是說如果影象的尺度發生變化,那麼可能原來是角點的點在新的尺度就不是角點了)。

所以,我們在進行運算的開始先將影象轉化到尺度空間表示,即將原影象進行尺度變換,而尺度變換的方式就是問題的輸入訊號與尺度核函式做卷積運算:

我們知道harris角點本身就不受光照,旋轉的影響,現在我們又使其滿足尺度不變性,所以,harris角點可以作為乙個優秀的特徵來幫助我們解決問題。

Harris角點檢測

貼一下 計算機視覺課的作業 有時候 需要用下 function f detectcorner i,threshold,sigma harris corner detect by lifeiteng version1.0 灰度影象 2013 5 08 version1.1 彩色影象 2013 5 13...

HARRIS角點檢測

cvinvoke.cornerharris image.convert b,2 注意 角點檢測傳出的為float型別的資料 cvinvoke.normalize b,b,0,255,normtype.minmax,depthtype.cv32f 正常化輸入陣列,使得它的範數或值範圍取一定值 多個 d...

Harris角點檢測

1 什麼是harris角點 在影象中,可以認為角點是物體輪廓線的連線點,是影象中重要的特徵點。角點數目遠小於畫素點,通過檢測角點可較準確地識別物體並減少計算量。角點檢測在目標識別 目標跟蹤 影象匹配等方面具有重要作用。如下圖,紅色圓圈標註的點可看做角點。2 如何檢測harris角點 可將影象分為三個...