Как точно найти центр маркера?

#c #opencv #markers

#c #opencv #маркеры

Вопрос:

Я хочу получить значение центра маркера. как показано на рисунке ниже.

Центр, который я хочу

Я попытался вычислить центр маркера, вычисляя от угла маркера. Итак, я уже получил центр маркера, но это были не те значения, которые я хочу. Когда маркер не параллелен камере, вычисленный центр сместился от центра маркера, как показано на рисунке ниже.

вычисляемый центр от угла

Я был бы признателен, если бы вы могли дать мне несколько советов по точному нахождению центра маркера.

Я хотел бы извиниться, если мой вопрос недостаточно ясен. Пожалуйста, дайте мне знать, что я должен улучшить.

Комментарии:

1. Каковы ваши условия для листа? На вашей фотографии кажется, что лист расположен не только под углом к камере, но и по дуге — в конце концов, пространство между внутренним белым и краем черного квадрата кажется больше слева, чем справа в пикселях фотографии, но не на вашем первом изображении. Прежде чем мы подумаем об алгоритмах противодействия таким искажениям, нам нужно знать, каких искажений нам следует ожидать.

2. Большое вам спасибо за ваш комментарий. Я думаю, что у меня нет ожидаемого искажения. Искажение маркера зависит от вида камеры. Мне просто нужен центр маркера всякий раз, когда маркер обнаружен камерой.

Ответ №1:

Поскольку ваше изображение расположено под углом, вы можете использовать преобразование перспективы для получения изображения с высоты птичьего полета. Чтобы получить центр маркера, вы можете сначала найти углы с помощью детектора углов Ши-Томази или детектора углов Харриса, а затем использовать геометрические вычисления на основе найденных углов для получения вашей центральной точки.

Комментарии:

1. Большое вам спасибо за ваше предложение. Я попробую это.