Что касается первой части вашего вопроса, вы были довольно близки: я полагаю, ваша проблема в переключении и настройке параметров «пара». Если это так, вам нужно только установить соответствующие значения в объекте параметров, как
para.cornerRefinementMethod = aruco.CORNER_REFINE_SUBPIX
Обратите внимание, что "aruco.CORNER_REFINE_SUBPIX" - это просто целое число. Вы можете убедиться в этом, набрав type(aruco.CORNER_REFINE_SUBPIX)
в консоли. Таким образом, присвоение значений объекту "para" работает, как указано выше.
Возможно, вы также захотите настроить para.cornerRefinementWinSize
, который, кажется, реализован в единицах пикселей кода, а не в фактических единицах пикселей изображения.
Что касается второй части, вам, возможно, придется написать функцию, которая добавляет поля в угловых точках, которые вы можете получить с помощью функции detectMarker
. Обратите внимание, что угловые точки всегда располагаются по часовой стрелке, поэтому вы можете легко назначить правильные значения смещения (например, «вверх и влево», «вверх и вправо» и т. Д.).