Jump to content
    

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...