python opencv3 特征提取與描述 DoG SIFT hessian surf


git:https://github.com/linyi0604/Computer-Vision

 

DoG和SIFT特征提取與描述

 1 # coding:utf-8
 2 
 3 import cv2  4 
 5 # 讀取圖片
 6 img = cv2.imread("../data/walez1.jpg")  7 # 轉為灰度圖像
 8 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  9 # 創建一個sift對象 並計算灰度圖像
10 sift = cv2.xfeatures2d.SIFT_create() 11 keypoints, descriptor = sift.detectAndCompute(gray, None) 12 """
13 sift對象會使用DoG檢測關鍵點,對關鍵點周圍的區域計算向量特征,檢測並計算 14 返回 關鍵點和描述符 15 關鍵點是點的列表 16 描述符是檢測到的特征的局部區域圖像列表 17 
18 關鍵點的屬性: 19  pt: 點的x y坐標 20  size: 表示特征的直徑 21  angle: 特征方向 22  response: 關鍵點的強度 23  octave: 特征所在金字塔層級 24  算法進行迭代的時候, 作為參數的圖像尺寸和相鄰像素會發生變化 25  octave屬性表示檢測到關鍵點所在的層級 26  ID: 檢測到關鍵點的ID 27 
28 """
29 # 在圖像上繪制關鍵點
30 # DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS表示對每個關鍵點畫出圓圈和方向
31 img = cv2.drawKeypoints(image=img, outImage=img, keypoints=keypoints, 32                         flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS, 33                         color=(51, 163, 236)) 34 
35 cv2.imshow("sift_keypoints", img) 36 cv2.waitKey() 37 cv2.destroyAllWindows()

 

hessian 與SURF特征提取與匹配

 1 # coding:utf-8
 2 
 3 import cv2  4 
 5 img = cv2.imread("../data/walez1.jpg")  6 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  7 
 8 surf = cv2.xfeatures2d.SURF_create(8000)  9 """
10  創建surf對象,設置閾值,閾值越高檢測到的特征就越少, 11  通過調整閾值得到合適的關鍵點 12 """
13 # 檢測圖像中的關鍵點和描述
14 keypoints, descriptor = surf.detectAndCompute(gray, None) 15 """
16 sift對象會使用DoG檢測關鍵點,對關鍵點周圍的區域計算向量特征,檢測並計算 17 返回 關鍵點和描述符 18 關鍵點是點的列表 19 描述符是檢測到的特征的局部區域圖像列表 20 
21 關鍵點的屬性: 22  pt: 點的x y坐標 23  size: 表示特征的直徑 24  angle: 特征方向 25  response: 關鍵點的強度 26  octave: 特征所在金字塔層級 27  算法進行迭代的時候, 作為參數的圖像尺寸和相鄰像素會發生變化 28  octave屬性表示檢測到關鍵點所在的層級 29  ID: 檢測到關鍵點的ID 30 
31 """
32 # 將關鍵點畫在原圖像上
33 cv2.drawKeypoints(image=img, outImage=img, 34                   keypoints=keypoints,flags=4, 35                   color=(51, 163, 236)) 36 
37 cv2.imshow("surf_detected", img) 38 cv2.waitKey() 39 cv2.destroyAllWindows()

 


免責聲明!

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



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