圖片SIFT特征匹配處理


1.SIFT特征原理描述

SIFT的全稱是Scale Invariant Feature Transform,由加拿大教授David G.Lowe提出的。SIFT特征不只具有尺度不變性,即使改變旋轉角度,圖像亮度或拍攝視角,仍然能夠得到好的檢測效果,是一種非常穩定的局部特征。

總體來說,Sift算子具有以下特性:

1Sift特征是圖像的局部特征,對平移、旋轉、尺度縮放、亮度變化、遮擋和噪聲等具有良好的不變性,對視覺變化、仿射變換也保持一定程度的穩定性。

2)獨特性好,信息量豐富,適用於在海量特征數據庫中進行快速、准確的匹配。

3)多量性,即使少數的幾個物體也可以產生大量Sift特征向量。

4)速度相對較快,經優化的Sift匹配算法甚至可以達到實時的要求。

5)可擴展性強,可以很方便的與其他形式的特征向量進行聯合。

Sift算法的步驟可歸納為以下三點:

1)提取關鍵點;

2)對關鍵點附加詳細的信息(局部特征)也就是所謂的描述器;

3)通過兩方特征點(附帶上特征向量的關鍵點)的兩兩比較找出相互匹配的若干對特征點,也就建立了景物間的對應關系。提取關鍵點和對關鍵點附加詳細的信息(局部特征)也就是所謂的描述器可以稱做是Sift特征的生成,即從多幅圖像中提取對尺度縮放、旋轉、亮度變化無關的特征向量。

 

SIFT的特點主要有以下幾個:

  1. 旋轉、縮放、平移不變性
  2. 解決圖像仿射變換,投影變換的關鍵的匹配
  3. 光照影響小
  4. 目標遮擋影響小
  5. 噪聲景物影響小

 

2、對兩張圖片進行SIFT特征匹配處理

運行代碼如下圖:

運行結果如下圖:

 

(1)首先第一次運行之后顯示pil出現問題,之后我重新在anconda中重新安裝了pil庫(這個問題我忘記截圖了!)這個問題就解決了。

(2)計算關鍵點描述符時;如果未找到關鍵點,可以使用函數sift.detectAndCompute()直接找到關鍵點並計算。

(3)運行中還遇到一個問題,是有關pcv的問題:

 

這個問題意思是沒有找到一個名為pcv的庫,說明pcv安裝出現問題,於是,我重新跟着安裝了pcv,這個問題也解決了,安裝鏈接:https://github.com/jesolem/PCV,步驟如下:

將下載的文件解壓;
打開cmd,執行如下指令: 
cd C:\Users\Administrator\Desktop\PCV 
python  setup.py install
在pycharm中輸入import PCV,測試是否安裝成功。
(4)我本次實驗沒有在python3.6完成,我運行python3.6會出現這個問題:

 

所以我在anconda中其他平台運行完成。

 

 

3、對從不同視點拍攝的圖片做地理標記

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM