摘要:理論前面講的角點檢測器中的角點在旋轉的圖像中也是角點,但是縮放呢如果縮放圖像,則角可能不是角例如,檢查下面的簡單圖像,當在同一窗口中放大時,小窗口內的小圖像中的角是平坦的所以角點檢測器不是尺度不變的所以,在年,不列顛哥倫比亞大學的在他的論
Introduction to SIFT (Scale-Invariant Feature Transform)
理論前面講的Harris角點檢測器中的角點在旋轉的圖像中也是角點,但是縮放呢? 如果縮放圖像,則角可能不是角.例如,檢查下面的簡單圖像, 當在同一窗口中放大時,小窗口內的小圖像中的角是平坦的.所以Harris角點檢測器不是尺度不變的.
所以,在2004年,不列顛哥倫比亞大學的D.Lowe在他的論文中提出了一種新的算法,即尺度不變特征變換(SIFT).
SIFT特征是基于物體上的一些局部外觀的興趣點而與影像的大小和旋轉無關。對于光線、噪聲、微視角改變的容忍度也相當高.基于這些特性,它們是高度顯著而且相對容易擷取,在母數龐大的特征數據庫中,很容易辨識物體而且鮮有誤認.使用SIFT特征描述對于部分物體遮蔽的偵測率也相當高,甚至只需要3個以上的SIFT物體特征就足以計算出位置與方位.在現今的電腦硬件速度下和小型的特征數據庫條件下,辨識速度可接近即時運算.SIFT特征的信息量大,適合在海量數據庫中快速準確匹配.
OpenCV中的SIFTimport numpy as np import cv2 img = cv2.imread("img.jpg") gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) sift = cv2.xfeatures2d.SIFT_create() kp = sift.detect(gray,None) img=cv2.drawKeypoints(gray,kp,img) cv2.imshow("img",img) cv2.waitKey()
NOTE:
lz直接運行上述代碼時,程序報錯:
module "cv2.cv2" has no attribute "xfeatures2d",后面查詢原因知道OpenCv3.x以后只包含部分內容,需要神經網絡或者其他的函數需要導入opencv_contrib,所以需要pip install opencv-contrib-python
sift.detect()函數在圖像中查找關鍵點, 如果只想搜索圖像的一部分,可以傳遞掩膜.
OpenCV還提供了cv2.drawKeyPoints()函數,該函數在關鍵點的位置上繪制小圓圈.如果傳遞標志cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS,它將繪制一個大小為keypoint的圓圈并顯示它的方向.
import numpy as np import cv2 img = cv2.imread("img.jpg") gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) sift = cv2.xfeatures2d.SIFT_create() kp = sift.detect(gray,None) img=cv2.drawKeypoints(gray,kp,img,flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS) cv2.imshow("img",img) cv2.waitKey()
計算描述符,OpenCV提供了兩種方法:
如果已經找到了關鍵點,可以調用sift.compute()來計算找到的關鍵點的描述符, 例如:kp,des = sift.compute(gary,kp)
如果沒有找到關鍵點,可以使用函數sift.detectAndCompute()在一個步驟中直接查找關鍵點和描述符
sift = cv2.xfeatures2d.SIFT_create() kp, des = sift.detectAndCompute(gray,None)
kp是關鍵點列表,des是形狀為Number_of_Keypoints×128的numpy數組.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42063.html
摘要:降采樣的目的是為了綜合所有不同清晰度的圖像進行關鍵點提取,這種關鍵點攜帶了不同清晰度的信息,對縮放具有不變性。是對的一種改進,主要特點是快速。的達到維,導致的比較耗時,使用哈爾小波轉換得到的方向,讓的降到維,減少了一半,提高了匹配速度。 尺度不變特征變換(Scale-invariant feature transform, 簡稱SIFT)是圖像局部特征提取的現代方法——基于區域/圖像塊...
摘要:理論在上一章中,我們看到了的關鍵點檢測和描述但它相對較慢,人們需要更加快速的版本,所以年引入了一種名為的新算法顧名思義,它是的加速版本作為尺度不變特征變換算法的加速版,算法在適中的條件下完成兩幅圖像中物體的匹配基本實現了實時處理,其快速的 Introduction to SURF (Speeded-Up Robust Features) 理論 在上一章中,我們看到了SIFT的關鍵點檢...
摘要:為了解決這個問題,算法使用和可以通過參數來設定所以好的匹配提供的正確的估計被稱為,剩下的被稱為返回一個掩模,這個掩模確定了和點 Feature Matching + Homography to find Objects 聯合使用特征提取和 calib3d 模塊中的 findHomography 在復雜圖像中查找已知對象. 之前在一張雜亂的圖像中找到了一個對象(的某些部分)的位置.這些...
閱讀 3002·2021-11-23 09:51
閱讀 3616·2021-10-13 09:39
閱讀 2503·2021-09-22 15:06
閱讀 887·2019-08-30 15:55
閱讀 3153·2019-08-30 15:44
閱讀 1784·2019-08-30 14:05
閱讀 3439·2019-08-29 15:24
閱讀 2370·2019-08-29 12:44