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

使用OpenCV 2.3时,我对此没有任何问题。在OpenCV 2.4中,cv2.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修复了我之前遇到的另一个问题。

最佳答案

假设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

关于python - OpenCV 2.4,Python-从SURF关键点检索laplacian,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10820807/

10-11 16:16