Как визуализировать сопоставление дескрипторов с помощью модуля opencv в python

Я пытаюсь использовать opencv с python. Я написал код соответствия дескриптора (SIFT, SURF или ORB) в C++ версии opencv 2.4. Я хочу преобразовать этот код в opencv с помощью python. Я нашел несколько документов о том, как использовать функции opencv в C++, но многие функции opencv в python я не смог найти, как их использовать. Вот мой код Python, и моя текущая проблема заключается в том, что я не знаю, как использовать «drawMatches» opencv С++ в Python. Я нашел cv2.DRAW_MATCHES_FLAGS_DEFAULT, но понятия не имею, как его использовать. Вот мой код на Python для сопоставления с использованием дескрипторов ORB:

im1 = cv2.imread(r'C:\boldt.jpg')
im2 = cv2.cvtColor(im1, cv2.COLOR_BGR2GRAY)
im3 = cv2.imread(r'C:\boldt_resize50.jpg')
im4 = cv2.cvtColor(im3, cv2.COLOR_BGR2GRAY)

orbDetector2 = cv2.FeatureDetector_create("ORB")
orbDescriptorExtractor2 = cv2.DescriptorExtractor_create("ORB")
orbDetector4 = cv2.FeatureDetector_create("ORB")
orbDescriptorExtractor4 = cv2.DescriptorExtractor_create("ORB")

keypoints2 = orbDetector2.detect(im2)
(keypoints2, descriptors2) = orbDescriptorExtractor2.compute(im2,keypoints2)
keypoints4 = orbDetector4.detect(im4)
(keypoints4, descriptors4) = orbDescriptorExtractor4.compute(im4,keypoints4)
matcher = cv2.DescriptorMatcher_create('BruteForce-Hamming')
raw_matches = matcher.match(descriptors2, descriptors4)
img_matches = cv2.DRAW_MATCHES_FLAGS_DEFAULT(im2, keypoints2, im4, keypoints4, raw_matches)
cv2.namedWindow("Match")
cv2.imshow( "Match", img_matches);

Сообщение об ошибке строки «img_matches = cv2.DRAW_MATCHES_FLAGS_DEFAULT(im2, keypoints2, im4, keypoints4, raw_matches)"

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'long' object is not callable

Я потратил много времени на поиск документации и примеров использования функций opencv с python. Однако я очень расстроен, потому что очень мало информации об использовании функций opencv в python. Будет очень полезно, если кто-нибудь научит меня, где я могу найти документацию о том, как использовать каждую функцию модуля opencv в python.Я ценю ваше время и помощь.

8
задан rayryeng - Reinstate Monica 8 October 2015 в 16:59
поделиться