Cianid 0 March 20, 2023 Posted March 20, 2023 · Report post Всем привет. Подскажите. У меня стоит задача определять смещение объекта в пикселях на камере. Камера висит под углом и имеет 2 степени свободы. Методы распознания не волнуют, это делается на стороне, я получаю только смещение объекта относительно центра окна в пикселях. Копаю в сторону проективного преобразования. Т.е. перевод реальных координат в координаты сенсора через матрицу гомографии. Но, для расчета коэффициентов необходимо выбрать 4 калибровочные точки, с априорными координатами. Я пока нашел только 2 - это центр камеры и точка на нижней грани обзорного окна(можно рассчитать через FOV камеры). В общем здесь пока тупик. Может есть еще какой нибудь метод? Quote Share this post Link to post Share on other sites More sharing options...
Stepanov 54 April 18, 2023 Posted April 18, 2023 · Report post "..стоит задача определять смещение объекта в пикселях на камере.." Тут всё просто. Объекты относительно камеры, без информации о дальности, имеют только угловые размеры. Объектив имеет углы поля зрения, например типичная вебкамера по горизонтали имеет угол поля зрения 60-90градусов. Этот угол проецируется на матрицу, в матрице есть известное количество пикселов по каждой оси, и если, например таки объектив имеет поле 90градусов по горизонтали, и матрица имеет 640 пикселов по горизонтали же, то это означает, что на один пиксел _примерно_ проецируется телесный угол 90/640 градусов. примерно потому что реальные объективы очень сильно отличаются по линейности, имеют всякие искажения такие как "рыбий глаз", и телесные углы приходящиеся на пиксел по краям поля и в центре могут отличаться на 5...10%. А если вам надо точно определить, и вы уже, копаясь в интернете по вашей задаче, встречали словосочетания субпиксельное разрешение, то это значит, что объектив однозначно придётся натурально калибровать на специальном стенде, но это уже другая, интересная и полезная, тема. Quote Share this post Link to post Share on other sites More sharing options...
Cianid 0 April 21, 2023 Posted April 21, 2023 · Report post В 18.04.2023 в 21:28, Stepanov сказал: "..стоит задача определять смещение объекта в пикселях на камере.." Тут всё просто. Объекты относительно камеры, без информации о дальности, имеют только угловые размеры. Объектив имеет углы поля зрения, например типичная вебкамера по горизонтали имеет угол поля зрения 60-90градусов. Этот угол проецируется на матрицу, в матрице есть известное количество пикселов по каждой оси, и если, например таки объектив имеет поле 90градусов по горизонтали, и матрица имеет 640 пикселов по горизонтали же, то это означает, что на один пиксел _примерно_ проецируется телесный угол 90/640 градусов. примерно потому что реальные объективы очень сильно отличаются по линейности, имеют всякие искажения такие как "рыбий глаз", и телесные углы приходящиеся на пиксел по краям поля и в центре могут отличаться на 5...10%. А если вам надо точно определить, и вы уже, копаясь в интернете по вашей задаче, встречали словосочетания субпиксельное разрешение, то это значит, что объектив однозначно придётся натурально калибровать на специальном стенде, но это уже другая, интересная и полезная, тема. Я уже решил проблему через проективное преобразование. Но спасибо за совет. Quote Share this post Link to post Share on other sites More sharing options...