Я в настоящее время работаю над оценкой позы ARUCO, используя библиотеку OpenCV. Благодаря использованию последней версии OpenCV (4.8.1.78), я столкнулся с ограничениями с большинством функций, обычно используемых в учебных пособиях и репозиториях GitHub. Я пытаюсь выполнить оценку позы с использованием solvepnp. Векторы перевода и вращения, предоставленные этим методом, должны представлять позу кода ARUCO по отношению к камере. Чтобы проверить это, я отображаю эти векторы на каждом кадре. Вместо этого он отображается где -то в космосе в нижнем левом углу рам. Маркеры обнаруживаются точно, но оценка позы, похоже, не дает ожидаемых результатов. Любое понимание или руководство по разрешению этого несоответствия будет высоко оценено. < /P>
Я в настоящее время работаю над оценкой позы ARUCO, используя библиотеку OpenCV. Благодаря использованию последней версии OpenCV (4.8.1.78), я столкнулся с ограничениями с большинством функций, обычно используемых в учебных пособиях и репозиториях GitHub. Я пытаюсь выполнить оценку позы с использованием solvepnp. Векторы перевода и вращения, предоставленные этим методом, должны представлять позу кода ARUCO по отношению к камере. Чтобы проверить это, я отображаю эти векторы на каждом кадре. Вместо этого он отображается где -то в космосе в нижнем левом углу рам. Маркеры обнаруживаются точно, но оценка позы, похоже, не дает ожидаемых результатов. Любое понимание или руководство по разрешению этого несоответствия будет высоко оценено. < /P> [code]from utils import ARUCO_DICT, aruco_display import cv2 import numpy as np import matplotlib.pyplot as plt import csv
def detect_aruco(camera, video, type, output_video_path, marker_size): if camera: video_capture = cv2.VideoCapture(0) cv2.waitKey(2000) else: if video is None: print("[Error] Video file location is not provided") return
video_capture = cv2.VideoCapture(video)
if type not in ARUCO_DICT: print(f"ArUCo tag type '{type}' is not supported") return
if np.all(ids is not None): for i in range(0, len(ids)): trash, rvec, tvec = cv2.solvePnP(markerPoints, corners[i], camera_matrix, distortion_coefficients, False, cv2.SOLVEPNP_IPPE_SQUARE)
У меня есть функция, которая должна вернуть вектор вращения и вектор перевода (RVEC и TVEC), учитывая около 3D -точек, около 2D -точек и внутреннюю матрицу
def solvePnP(points_3d: list[list ], points_2d: list[list ], camera_mat: np.ndarray,...
У меня есть функция, которая должна вернуть вектор вращения и вектор перевода (RVEC и TVEC), учитывая около 3D -точек, около 2D -точек и внутреннюю матрицу
def solvePnP(points_3d: list[list ], points_2d: list[list ], camera_mat: np.ndarray,...
I have a function which is supposed to return the rotation vector and translation vector (rvec and tvec) given some 3d points, some 2d points, and an intrinsics matrix
def solvePnP(points_3d: list[list ], points_2d: list[list ], camera_mat:...
Я работал над проектом, в котором мне нужно было обнаружить маркеры ArUco на изображениях, снятых веб-камерой. Я следил за документацией, пока не обнаружил, что Java-реализация модуля OpenCV ArUco отличается от того, что было описано в документации,...
Этот код не обнаруживает маркеры aruco и его идентификаторы. Кто-нибудь может исправить код
Он должен показывать правильный вывод, как будто он обнаруживает метки aruco
import numpy as np
import cv2
from cv2 import aruco
import matplotlib.pyplot as...