使用sift实现关键点(特征点)检测

2025-05-28 02:22:37

1、本文实现特征点(角点是一种特征点)获取和标识,特征点的描述的匹配实现未做处理,为下一步特征点描述和匹配做铺垫。各种数学性质,请自行百度查询。

使用sift实现关键点(特征点)检测

2、import cv2 as cvimport copyimage = cv.imread('c:\\meiping1.png')cv.imshow("image", image)image1 = copy.copy(image)image2 = copy.copy(image)继续以梅瓶为例copy几个图像为输出特征点

使用sift实现关键点(特征点)检测

4、SIFT特征计算使用xfeatures2d.SIFT_create完成S诔罨租磊IFT特征点初始化sift = cv.xfeatures2d.SIFT_cr髫潋啜缅eate()sift.detectAndCompute实现特征点和特征点描述分别输出。keypoints, features = sift.detectAndCompute(gray, None)print(keypoints)坐标点print(keypoints[0].pt[0], keypoints[0].pt[1])特征点描述,后期用于匹配。print(features)

使用sift实现关键点(特征点)检测

6、for k in keypoints: cv.circle(image2, (int(k.pt[0]), int(k.pt[1])), 2, (255, 255, 0), 1)cv.imshow("image1", image1)cv.imshow("image2", image2)k = cv.waitKey(0)cv.destroyAllWindows()手动绘制圆圈 效果和drawKeypoints差不多

使用sift实现关键点(特征点)检测

7、小结:1)不论自己画还是调用函数画圈 都可以2)sift = cv.xfeatures2d.SIFT_create()keypoints, features = sift.detectAndCompute(gray, None)实现特征点检测3)opencv contrib的安装

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢