Исправление всей области просмотра изображения "рыбий глаз"
Мне было интересно, есть ли методы для исправления всей области просмотра необработанного изображения "рыбий глаз"?
Если я правильно поняла. Общая стратегия удаления бочкообразных искажений из изображений "рыбий глаз" - сначала обрезать сферическое изображение "рыбий глаз" до прямоугольной формы, а затем исправить радиальное искажение, но затем мы теряем некоторую информацию из верхней и нижней части исходного изображения.
Нашел это, но это делает изображение рыбьего глаза расплывчатым и увеличенным: http://www.tannerhelland.com/4743/simple-algorithm-correcting-lens-distortion/
2 ответа
Можно перенести все пиксели из искаженного изображения в прямолинейную плоскость изображения, НО у вас будут очень размытые края, особенно там, где искажение велико. Например, в этой ссылке автор использовал метод OpenCV для неискажения изображения и смог правильно получить все пиксели, поскольку искажение невелико (поле зрения меньше). Но в камере с высоким искажением (поле зрения >= 180) растяжение по краям будет слишком большим, и изображение не будет иметь смысла (см. изображение), поэтому люди обычно обрезают края. Но если при обрезке удаляется интересующая вас область изображения, вам, вероятно, придется поработать над самим искаженным изображением.
Калибровка "рыбий глаз": попробуйте выполнить процедуру, приведенную на этом сайте. Это метод калибровки шахматной доски.