0

我正在使用 OpenCV 2.4 来提取 SURF 特征,并且需要每个关键点的拉普拉斯值来进行匹配过程。

当我使用 OpenCV 2.3 时,我没有遇到这个问题。在 OpenCV 2.4cv2.SURF()中不起作用,所以我不得不这样做:

im2 = cv2.imread(imgPath)
im = cv2.cvtColor(im2, cv2.COLOR_BGR2GRAY)
surfDetector = cv2.FeatureDetector_create("SURF")
surfDescriptorExtractor = cv2.DescriptorExtractor_create("SURF")
keypoints = surfDetector.detect(im)
(keypoints, descriptors) = surfDescriptorExtractor.compute(im,keypoints)

这可行,但是它给了我一组通用关键点对象。有没有办法获得 SURF 的特定值?(拉普拉斯,黑森)

不幸的是,我无法回到 2.3,因为 2.4 修复了我之前遇到的另一个问题。

4

1 回答 1

3

假设keypoint是一个关键点:

x = keypoint.pt[0]
y = keypoint.pt[1]
size = keypoint.size
dir_in_degrees = keypoint.angle
laplacian = round(keypoint.class_id)
hessian = keypoint.response
于 2012-05-30T21:14:04.530 回答