特征点检测

SIFT算法

由于版权问题,旧版本的在xfeatures2d模块下

cv2.xfeatures2d.SIFT_create()

而较新版本的可以直接使用

cv2.SIFT_create()

create()函数用于创建SIFT算法的类对象,参数如下

参数含义
nfeatures保留的最优特征数量
nOctavwLayers每个Octave的层数
contrastThreshold对比度阈值,阈值越大,检测的特征越少
edgeThreshold过滤疑似边缘的特征阈值,越大,保留的特征越多
sigma高斯模糊参数

drawKeypoints()用于特征点的绘制

参数含义
image输入图像
keypoints存储检测到的特征点
outImage输出图像
color绘制特征点颜色
flags绘制特征点方式
import cv2

src = cv2.imread("img.png", 1)

# SIFT算法检测特征点
sift = cv2.SIFT_create()
key_point, descriptor = sift.detectAndCompute(src, None)

# 绘制特征点
draw_keypoints = cv2.drawKeypoints(src, key_point, src, color=(128, 128, 128))
cv2.imwrite("sift_point.jpg", draw_keypoints)

在这里插入图片描述


版权声明:本文为qq_53960620原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。