Я пытаюсь соединить одну точку с точкой m, используя cv2.drawMatches, в качестве параметров я получаю, m и две картинки. Я должен щелкнуть одну точку из n самых сильных точек на первом изображении и обозначить эту точку m точками совпадения на втором изображении,
на картинке вы можете видеть, что код делает только одну строку, мне нужно m это код:
if point is not None:
# create BFMatcher object
bf = cv2.BFMatcher(cv2.NORM_L1, crossCheck=False)
# Match descriptors.
single = [point]
sub_des_L = sub_descriptors(single, keypoints_L, descripoints_L)
matches = bf.match(sub_des_L, sub_des_R)
#sub_des_L= sub_descriptors(sort_kp_L, keypoints_L, descripoints_L)
#matches = bf.match(sub_des_L, sub_des_R)
# Sort them in the order of their distance.
matches = sorted(matches, key=lambda x: x.distance)
for x in matches:
print(x.trainIdx)
print(len(sort_kp_L))
img3 = cv2.drawMatches(img_L, single, img_R, sort_kp_R, matches, None,
flags=0)
cv2.imshow("result", img3)
что я делаю неправильно?