Расчет диаметра пикселя заданного поля зрения равновеликого (равновеликого) объектива типа «рыбий глаз»

У меня есть объектив «рыбий глаз» с углом обзора 180° и фокусным расстоянием 8 мм. Я хочу обрезать изображения до круга, определяемого угловым полем зрения от зенитного угла объектива (т. Е. Середина круга на исходном изображении).

Я уже нашел уравнение, которое, я думаю, может быть правильным:

R = 2ƒ sin( θ / 2)

Где θ — угол (в радианах) от зенита, определяющий окружность кадрирования (т. е. мое заданное поле зрения), а ƒ — фокусное расстояние объектива (т. е. 8 мм). R — радиус окружности, очерченной полем зрения (думаю, это радиус на плоскости сенсора?), в мм. Проблема в том, что я не могу понять, как связать R с длиной пикселя на моих изображениях, чтобы я мог обрезать круг такого диаметра.

Я уже просмотрел эти страницы:

Какая связь между полем зрения и фокусным расстоянием для рыбьего глаза?

Вычислить угол/поле зрения из 2D-изображения

Связано (но не применимо напрямую, поскольку ваш вопрос касается равнотвердой проекции): диагональный угол обзора с учетом горизонтальных или вертикальных углов обзора для равноудаленных линз
Наверное, правильнее было бы сказать «угол зрения». Хотя часто используется взаимозаменяемо (я тоже был виноват, пока не «прозрел» по этому поводу), «поле зрения» обычно используется для описания линейного расстояния, которое появляется на изображении на определенном расстоянии от камеры. объектив. Другими словами, 50-мм объектив перед датчиком FF может иметь диагональное поле обзора 46°. Это соответствует определенной высоте и ширине цели, перпендикулярной оптической оси объектива, на определенном расстоянии от камеры. FoV — это видимые размеры этой цели.

Ответы (1)

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

Если вы не знаете точный размер сенсора, но знаете его формат (например, 1/2,3 дюйма), имейте в виду, что размеры сенсора в долях дюйма являются номенклатурными, а не размерными . Вы можете найти размеры для всех видов размеров датчиков в Википедии .

Таким образом, учитывая ваше измерение плоскости изображения R (в мм), преобразование в пиксели просто

Пиксели = R * шаг пикселя (в мкм) / (1000 мкм на мм)

Большое спасибо за подтверждение. Тем временем я пришел к аналогичному выводу, за исключением того, что я использовал ширину изображения, снятого камерой, в пикселях в качестве своего эквивалента «шага пикселя». Это все еще в силе? Шаг пикселя для моего датчика, по-видимому, составляет 5,95 мкм, звучит ли это логично?