python으로 opencv를 사용하려고합니다. opencv 2.4의 C++ 버전에서 설명 자 (SIFT, SURF 또는 ORB)와 일치하는 코드를 작성했습니다. 이 코드를 python으로 opencv로 변환하고 싶습니다. C++에서 opencv 함수를 사용하는 방법에 대한 문서를 찾았지만 많은 pycript의 opencv 함수를 사용하는 방법을 찾을 수 없었습니다. 여기 내 파이썬 코드입니다, 그리고 내 현재 문제는 "drawMatches"opencv C++ 파이썬에서 사용하는 방법을 모른다. cv2.DRAW_MATCHES_FLAGS_DEFAULT를 찾았지만 사용 방법을 모릅니다. 여기에 일치하여 ORB 기술자의 내 파이썬 코드 : 라인 "img_matches = cv2.DRAW_MATCHES_FLAGS_DEFAULT (IM2, keypoints2, IM4, keypoints4, raw_matches)"의python에서 opencv 모듈을 사용하여 설명자 일치를 시각화하는 방법
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);
오류 메시지가
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'long' object is not callable
나는 보냈다 많은 시간 검색 문서와 파이썬에서 opencv 함수를 사용하는 예제. 그러나 python에서 opencv 함수를 사용하는 정보가 거의 없기 때문에 매우 좌절했습니다. 파이썬에서 opencv 모듈의 모든 기능을 사용하는 방법에 대한 문서를 어디서 찾을 수 있는지 가르쳐 주시면 매우 도움이 될 것입니다. 시간과 도움에 감사드립니다.
감사합니다! – user1433201