我有一些python代码来比较两个图像:detector_FeatureDetector_1 = cv2.FastFeatureDetector_create()
detector_FeatureDetector_2 = cv2.FastFeatureDetector_create()
detector_DescriptorExtractor_1 = cv2.BRISK_create()
detector_DescriptorExtractor_2 = cv2.BRISK_create()
detector_DescriptorMatcher_1 = cv2.BFMatcher(cv2.NORM_HAMMING2, crossCheck = True)
detector_DescriptorMatcher_2 = cv2.BFMatcher(cv2.NORM_HAMMING2, crossCheck = True)
image_1 = cv2.imread('/Users/rui/image1.png')
image_2 = cv2.imread('/Users/rui/image2.png')
obj_descriptor_keypoints_1 = detector_FeatureDetector.detect(image_1)
obj_descriptor_keypoints_2 = detector_FeatureDetector.detect(image_2)
keypoints1, obj_descriptor_descriptors_1 = detector_DescriptorExtractor.compute(image_1, obj_descriptor_keypoints_1)
keypoints2, obj_descriptor_descriptors_2 = detector_DescriptorExtractor.compute(image_2, obj_descriptor_keypoints_2)
matches = detector_DescriptorMatcher.knnMatch(obj_descriptor_descriptors_1, obj_descriptor_descriptors_2, k=6)
但是detector_DescriptorMatcher.knnMatch()只在k=1时起作用。如果k的值与1不同,则返回以下错误:
^{pr2}$