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