Перейти к содержанию
    

Определение проекций на сенсоре камеры.

Всем привет. Подскажите. У меня стоит задача определять смещение объекта в пикселях на камере. Камера висит под углом и имеет 2 степени свободы.

Методы распознания не волнуют, это делается на стороне, я получаю только смещение объекта относительно центра окна в пикселях.

Копаю в сторону проективного преобразования. Т.е. перевод реальных координат в координаты сенсора через матрицу гомографии. Но, для расчета коэффициентов необходимо выбрать 4 калибровочные точки, с априорными координатами. Я пока нашел только 2 - это центр камеры и точка на нижней грани обзорного окна(можно рассчитать через FOV камеры). В общем здесь пока тупик. 

Может есть еще какой нибудь метод? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"..стоит задача определять смещение объекта в пикселях на камере.."

Тут всё просто. Объекты относительно камеры, без информации о дальности, имеют только угловые размеры. Объектив имеет углы поля зрения, например типичная вебкамера по горизонтали имеет угол поля зрения 60-90градусов. Этот угол проецируется на матрицу, в матрице есть известное количество пикселов по каждой оси, и если, например таки объектив имеет поле 90градусов по горизонтали, и матрица имеет 640 пикселов по горизонтали же, то это означает, что на один пиксел _примерно_ проецируется телесный угол 90/640 градусов. примерно потому что реальные объективы очень сильно отличаются по линейности, имеют всякие искажения такие как "рыбий глаз", и телесные углы приходящиеся на пиксел по краям поля и в центре могут отличаться на 5...10%. А если вам надо точно определить, и вы уже, копаясь в интернете по вашей задаче, встречали словосочетания субпиксельное разрешение, то это значит, что объектив однозначно придётся натурально калибровать на специальном стенде, но это уже другая, интересная и полезная, тема.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 18.04.2023 в 21:28, Stepanov сказал:

"..стоит задача определять смещение объекта в пикселях на камере.."

Тут всё просто. Объекты относительно камеры, без информации о дальности, имеют только угловые размеры. Объектив имеет углы поля зрения, например типичная вебкамера по горизонтали имеет угол поля зрения 60-90градусов. Этот угол проецируется на матрицу, в матрице есть известное количество пикселов по каждой оси, и если, например таки объектив имеет поле 90градусов по горизонтали, и матрица имеет 640 пикселов по горизонтали же, то это означает, что на один пиксел _примерно_ проецируется телесный угол 90/640 градусов. примерно потому что реальные объективы очень сильно отличаются по линейности, имеют всякие искажения такие как "рыбий глаз", и телесные углы приходящиеся на пиксел по краям поля и в центре могут отличаться на 5...10%. А если вам надо точно определить, и вы уже, копаясь в интернете по вашей задаче, встречали словосочетания субпиксельное разрешение, то это значит, что объектив однозначно придётся натурально калибровать на специальном стенде, но это уже другая, интересная и полезная, тема.

Я уже решил проблему через проективное преобразование. Но спасибо за совет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...