#python #orb #keypoint
#python #orb #ключевая точка
Вопрос:
У меня есть два изображения, которые я хочу сравнить. Для этой цели я использую orb.detect и orb.compute.
Моя проблема в том, что я хочу указать определенные ключевые моменты, и я не могу найти способ сделать это.
Я пробовал такие вещи, как:
originalx = [-24,-23,-21,20,35,35]
originaly = [37,-25,-41,14,5,-51]
originalori = [1,0.4,1,0.3,1.1,1]
kp1 = []
for i in range(6):
cv2.KeyPoint.pt[0] = originalx[i]
cv2.KeyPoint.pt[1] = originaly[i]
cv2.KeyPoint.angle = originalori[i]
cv2.Keypoint.append(kp1)
для назначения обоих изображений назначьте определенные позиции, углы, data_id и т. Д. Однако я получаю сообщение об ошибке:
AttributeError: 'builtin_function_or_method' object has no attribute 'pt'
Знает ли кто-нибудь, как я мог бы создавать свои собственные ключевые точки вместо того, чтобы orb.detect создавал свои собственные?
Заранее спасибо!
Комментарии:
1. Если атрибут pt не существует, может быть, атрибуты _pt вместо pt ? Я нашел это в оригинальной документации
2. Ваш цикл немного сомнителен, но вы можете передать аргументы
KeyPoint
конструктору в своем цикле:kp = cv2.KeyPoint(originalx[i], originaly[i], 1, angle= originalori[i]) kp1.append(kp)
но я не знаю, какое значение было бы разумным_size
(здесь я передал 1)3. Это сработало, Эдхам; спасибо за помощь
![]()