2012-05-30 65 views
0

我正在使用OpenCV 2.4來提取SURF功能,並且需要匹配過程中每個關鍵點的拉普拉斯值。OpenCV 2.4,Python - 從SURF關鍵點檢索laplacian

我在使用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修復了我以前的另一個問題。

回答

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 
+0

謝謝!正是我想要的。不過,我認爲「圓」應該是粗麻布而不是拉普拉斯。 – Kkov