當前位置:編程學習大全網 - 源碼下載 - 如何用電腦匹配壹張圖片的內容?

如何用電腦匹配壹張圖片的內容?

首先,特征點(角點)匹配

圖像匹配可以應用在很多場合,如目標跟蹤、檢測、識別、圖像拼接等,而角點匹配的核心技術就是角點匹配。所謂角點匹配,是指尋找兩幅圖像之間特征像素的對應關系,從而確定兩幅圖像之間的位置關系。

角點匹配可以分為以下四個步驟:

1.檢測器提取:在待匹配的兩幅圖像中找到最易識別的像素(角點),比如紋理豐富的物體的邊緣點。

2.提取描述符:對於檢測到的角點,使用壹些數學特征進行描述,如梯度直方圖和局部隨機二值特征。檢測器和描述符常用的提取方法有sift、harris、surf、fast、agast、brisk、freak、brisk、brief/orb等。

3.匹配:通過每個角點的描述符來判斷兩幅圖像中每個角點的對應關系,比如flann。

4.去噪:去除不正確匹配的離群點,保留正確的匹配點。常用的方法有KDTREE、BBF、Ransac、GTM等。

其次,提出了SIFT匹配方法

為了剔除因為圖像遮擋和背景混淆而沒有匹配關系的關鍵點,SIFT的作者Lowe提出了壹種比較最近鄰距離和下鄰距離的SIFT匹配方法:在壹幅圖像中取壹個SIFT關鍵點,在另壹幅圖像中找出歐氏距離最近的前兩個關鍵點。在這兩個關鍵點中,如果最近距離除以下壹個最近距離的比值小於某個閾值T,則該對匹配點將被接受。因為對於誤匹配來說,由於特征空間的高維性,在相似的距離上可能會有很多其他的誤匹配,所以它的比值比較高。顯然,如果降低比例閾值t,SIFT匹配點的數量會減少,但會更穩定,反之亦然。

Lowe推薦ratio的閾值為0.8,但作者匹配了大量任意比例、旋轉、亮度變化的兩張圖片。結果表明,比值在0。四比零。6,小於0的匹配點很少。4,而存在大量大於0的錯誤匹配點。6,所以作者建議對比值采用以下原則:

比率=0。4:用於高精度匹配;

比率=0。6:匹配點數需要更多匹配;

比率=0。5:壹般來說。

第三,常見的SIFT匹配碼

vlfeat中sift工具箱的1,vl_ubcmatch.c使用普通歐氏距離進行匹配(此SIFT代碼由Andrea貢獻。

維達爾迪).

2.Lowe的C++代碼使用歐氏距離,但在matlab代碼中,為了加快計算速度,使用向量夾角來近似歐氏距離:首先將128維SIFT特征向量歸壹化為單位向量(每個數除以平方和的平方根),然後通過點乘得到向量夾角的余弦值,最後使用反余弦(acos函數)得到向量夾角。實驗表明,Lowe的方法是非常正確和耗時的。

同樣,knnsearch函數也可以用來尋找最近點和下壹個最近點:knnsearch使用歐氏距離得到的結果與lowe近似法得到的結果幾乎相同,正好印證了模擬歐氏距離的效果。

3.Rob Hess的OpenSIFT使用KDTREE來優化匹配。

4.CSDN大神v_JULY_v實現了KDTREE+BBF優化SIFT匹配,消除錯誤匹配:從K近鄰算法和距離度量到KDTREE和SIFT+BBF算法。

——結構的方法,算法的方法——博客Channel-CSDN.NET。

5.OpenCV中features2d實現的SIFT匹配有很多種:向量描述符、BF Matcher(蠻力描述符匹配器)、Ferndescriptor、OnewayDescriptor、FlannBasedMatcher等等。目前只知道使用了knnsearch,它提供了多種測距方式,具體的區別不了解。

  • 上一篇:hibernate 事件監聽機制和攔截器的區別
  • 下一篇:買入創新高的股票
  • copyright 2024編程學習大全網