看了將近十來天的opencv了,無論是從官方文件,還是learning opencv,還是看各論壇,心裡總有種感覺是:無法把自己看的知識聯絡在一起,感覺都是各有特色功能的函式,可是這些各有特色功能的函式怎麼組合在一起,實現什麼樣的功能就不得而知了。
下面從角點的角度來講講吧 --(要說的是有些並非是本人所寫,覺得別人有的地方寫的經典就複製下來了)
使用函式 cornerharris 通過 harris-stephens方法檢測角點;
我們到底要角點幹什麼??????????????
下面我來回答這個問題,在計算機視覺中,我們需要比對兩張,靠什麼匹配,靠直方圖,為啥????? 直方圖包含哪些資訊,如果需要快速的匹配,我們需呀哪些關鍵資訊?
一張在你看來,最大的印象是什麼??????????回答是色彩,那變為gray圖了呢,給你的最大的印象是什麼呢???????你可能一時回答不上來,那就是邊緣。什麼邊緣,不同灰度之間的邊緣,那怎麼獲得這些不同的邊緣??????常年canny,閥值化,閥值化後怎麼辦呢??還是不知到怎麼比對,還需要哪些特戰呢,再一步細化,那就到了角點和斑點(感興趣的區域)
下面我們就可以回答怎麼去比對兩張了
1---邊緣 (邊緣的獲取方法:canny,開環或者閉環,再加上閥值,或者sobel之類演算法)
2---角點 (cornerharris,開環,閉環,再加上十字圖形 菱形處理後, absdiff ,再去閥值,harris角點檢測,shi-tomasi角點檢測,fast角點檢測,尺度不變surf檢測,尺度不變sift檢測)
3---斑點 最生動形象的說話就是女孩子臉長了雀斑(
log運算元:sift演算法
blob特徵檢測運算元)
harris角點檢測
當乙個視窗在影象上移動,在平滑區域如圖(a),視窗在各個方向上沒有變化。在邊緣上如圖(b),視窗在邊緣的方向上沒有變化。在角點處如圖(c),視窗在各個方向上具有變化。harris角點檢測正是利用了這個直觀的物理現象,通過視窗在各個方向上的變化程度,決定是否為角點。
將影象視窗平移[u,v]產生灰度變化e(u,v)
由:, 得到:
對於區域性微小的移動量 [u,v],近似表達為:
其中m是 2*2 矩陣,可由影象的導數求得:
e(u,v)的橢圓形式如下圖:
定義角點響應函式r為:
harris角點檢測演算法就是對角點響應函式r進行閾值處理:r > threshold,即提取r的區域性極大值。
可以參考這篇文件 寫的很不錯
harris角點檢測 角點檢測實戰
介紹 角點是很容易在影象中定位的區域性特徵,並且大量存在於人造物體中 例如牆壁 門 桌子等 角點的價值在於它是兩條邊緣線的接合點,是一種二維特徵,可以被精確地檢測 即使是亞畫素級精度 實現原理 例子 include includeusing namespace std using namespace...
角點檢測,圓形檢測
角點檢測 圓檢測 已知直線方程斜截式表示式 y k x b r是從原點到直線的最短距離,為x軸與最短距離連線夾角。將k,b用r,關係替換,直線表示式為 對於任意一點 x,y 在hough變換中 對應一條曲線。多個點對應多條曲線,這些曲線有交點,交點處就是對應點組成的直線 如果有多個交點說明有多條直線...
Harris角點檢測
貼一下 計算機視覺課的作業 有時候 需要用下 function f detectcorner i,threshold,sigma harris corner detect by lifeiteng version1.0 灰度影象 2013 5 08 version1.1 彩色影象 2013 5 13...