Cianid 0 20 марта, 2023 Опубликовано 20 марта, 2023 · Жалоба Всем привет. Подскажите. У меня стоит задача определять смещение объекта в пикселях на камере. Камера висит под углом и имеет 2 степени свободы. Методы распознания не волнуют, это делается на стороне, я получаю только смещение объекта относительно центра окна в пикселях. Копаю в сторону проективного преобразования. Т.е. перевод реальных координат в координаты сенсора через матрицу гомографии. Но, для расчета коэффициентов необходимо выбрать 4 калибровочные точки, с априорными координатами. Я пока нашел только 2 - это центр камеры и точка на нижней грани обзорного окна(можно рассчитать через FOV камеры). В общем здесь пока тупик. Может есть еще какой нибудь метод? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stepanov 8 18 апреля, 2023 Опубликовано 18 апреля, 2023 · Жалоба "..стоит задача определять смещение объекта в пикселях на камере.." Тут всё просто. Объекты относительно камеры, без информации о дальности, имеют только угловые размеры. Объектив имеет углы поля зрения, например типичная вебкамера по горизонтали имеет угол поля зрения 60-90градусов. Этот угол проецируется на матрицу, в матрице есть известное количество пикселов по каждой оси, и если, например таки объектив имеет поле 90градусов по горизонтали, и матрица имеет 640 пикселов по горизонтали же, то это означает, что на один пиксел _примерно_ проецируется телесный угол 90/640 градусов. примерно потому что реальные объективы очень сильно отличаются по линейности, имеют всякие искажения такие как "рыбий глаз", и телесные углы приходящиеся на пиксел по краям поля и в центре могут отличаться на 5...10%. А если вам надо точно определить, и вы уже, копаясь в интернете по вашей задаче, встречали словосочетания субпиксельное разрешение, то это значит, что объектив однозначно придётся натурально калибровать на специальном стенде, но это уже другая, интересная и полезная, тема. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Cianid 0 21 апреля, 2023 Опубликовано 21 апреля, 2023 · Жалоба В 18.04.2023 в 21:28, Stepanov сказал: "..стоит задача определять смещение объекта в пикселях на камере.." Тут всё просто. Объекты относительно камеры, без информации о дальности, имеют только угловые размеры. Объектив имеет углы поля зрения, например типичная вебкамера по горизонтали имеет угол поля зрения 60-90градусов. Этот угол проецируется на матрицу, в матрице есть известное количество пикселов по каждой оси, и если, например таки объектив имеет поле 90градусов по горизонтали, и матрица имеет 640 пикселов по горизонтали же, то это означает, что на один пиксел _примерно_ проецируется телесный угол 90/640 градусов. примерно потому что реальные объективы очень сильно отличаются по линейности, имеют всякие искажения такие как "рыбий глаз", и телесные углы приходящиеся на пиксел по краям поля и в центре могут отличаться на 5...10%. А если вам надо точно определить, и вы уже, копаясь в интернете по вашей задаче, встречали словосочетания субпиксельное разрешение, то это значит, что объектив однозначно придётся натурально калибровать на специальном стенде, но это уже другая, интересная и полезная, тема. Я уже решил проблему через проективное преобразование. Но спасибо за совет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться