私はpythonでopencvを使用しようとしています。私はopencv 2.4のC++バージョンで記述子(SIFT、SURF、ORB)にマッチするコードを書いた。このコードをpythonでopencvに変換したい。私はC++でopencv関数を使う方法についていくつかの文書を見つけましたが、pythonのopencv関数の多くは、それらを使う方法を見つけることができませんでした。ここに私のPythonコードがあります。私の現在の問題は、opencvの "drawMatches"をPythonでどのように使うのか分かりません。私はcv2.DRAW_MATCHES_FLAGS_DEFAULTを見つけましたが、私はそれをどのように使用するか考えていません。ここにORB記述子を使用して、一致の私のPythonコードは次のとおりです。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);
ラインの
エラーメッセージ "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
を多くの時間の検索のドキュメントとpythonでopencv関数を使用する例しかし、pythonでopencv関数を使うことについての情報はほとんどないので、私は非常に不満です。 Pythonでopencvモジュールのあらゆる機能を使用する方法のドキュメントがどこにあるのか教えていただければ、非常に役に立ちます。私はあなたの時間と助けに感謝します。
感謝を! – user1433201