1.1角點的描述
角點是影象很重要的特徵之一,對影象圖形的理解和分析有很重要的作用。角點在保留影象圖形重要特徵的同時,可以有效地減少資訊的資料量,使其資訊的含量很高,有效地提高了計算的速度,有利於影象的可靠匹配,使得實時處理成為可能。
從影象分析的角度來定義角點可以有以下定義:
角點是局視窗沿各方向移動,均勻產生明顯變化的點,也是影象區域性曲率突變的點。
1.2harris角點檢測演算法
harris角點檢測是一種特徵提取的方法,而特徵提取正是計算機視覺的一種重要手段。儘管它看起來很複雜,其實也是基於數學原理和簡單的影象處理來實現的。
演算法思想
為了判斷影象的角點,可以利用卷積視窗滑動的思想,讓以該點為中心的視窗在附近滑動。如下圖是所有描述角點文章的初始圖例,它表徵的正是這一特性:當滑動視窗在所有方向移動時,視窗內的畫素灰度出現了較大的變化,就可能是角點。
數學模型
# 讀入影象
# 檢測harris角點
harrisim = harris.compute_harris_response(im)
# harris響應函式
harrisim1 = 255 - harrisim
figure(
)gray(
)#畫出harris響應圖
subplot(141)
imshow(harrisim1)
print (harrisim1.shape)
axis(
'off'
)axis(
'equal'
)threshold =
[0.01, 0.05, 0.1]
for i, thres in enumerate(threshold):
filtered_coords = harris.get_harris_points(harrisim, 6, thres)
subplot(1, 4, i+2)
imshow(im)
print(im.shape)
plot(
[p[1]
for p in filtered_coords], [p[0]
for p in filtered_coords], '*'
) axis(
'off'
)#原書採用的pcv中pcv harris模組
#harris.plot_harris_points(im, filtered_coords)
# plot only 200 strongest
# harris.plot_harris_points(im, filtered_coords[:200])
show(
)3.1對邊緣豐富的實驗
原圖
側拍圖
遠拍圖
harrisim_t = (harrisim > corner_threshold) * 1
旋轉圖
3.2對角點豐富的實驗
原圖
側拍圖
遠拍圖
旋轉圖
3.3對平坦的實驗
原圖
側拍圖遠拍圖
旋轉圖3.4結果分析
通過實驗可以看出側拍和遠拍對於前兩種影象的影響較大而對於平坦影象基本無影響,而旋轉對於所有都無影響。
可得出結論
1、harris角點檢測運算元具有旋轉不變性
harris角點檢測運算元使用的是角點附近的區域灰度二階矩矩陣。而二階矩矩陣可以表示成乙個橢圓,橢圓的長短軸正是二階矩矩陣特徵值平方根的倒數。當特徵橢圓轉動時,特徵值並不發生變化,所以判斷角點響應值r也不發生變化,由此說明harris角點檢測運算元具有旋轉不變性。
2、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角點 可將影象分為三個...