Перейти к содержимому
Compvision.ru
Khludenkov

Коррекция кадров видео

Recommended Posts

Здравствуйте. Имеется объектив, в котором присутствует цветовое виньетирование.
Т. е. у него в центре изображение более зелёное,
и соответственно, более сиреневое по краям.

Сейчас мы делаем снимок белого листа, и определяем коэффициенты неоднородности.
Затем для каждого кадра видео потока применяем эти коэффициенты.
Софт написали сами, очевидно, что не оптимально и не без ошибок.

Скажите, может быть уже имеются готовые решения?

 

сенсор.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Готовых решений не знаю, но можно попробовать слепое разделение источников (blind source separation).

Снимаете 2 кадра A и B.

делаете из них 3 смеси в разных пропорциях.

I1=k1*A+(1-k1)*B

I2=k2*A+(1-k2)*B

I3=k3*A+(1-k3)*B

На самом деле это будут смеси из 3 изображений A, B, и виньетки.

Раскладываем на 3 источника, затем вычисляем коэффициенты искажения цвета. 

Что то типа этого: 

 

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Большое спасибо.

Цитата

Снимаете 2 кадра A и B.

Снимаем белый лист?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нет, снимаем любые изображения.

Сейчас подумал, что способ будет работать при аддитивной модели искажения i=i_0+i_noise.

А здесь, похоже мультипликативная: 

i=i_0*i_v

Так как черное изображение остается черным.

PCA пожалуй не разделит в этом случае. 

Видимо надо сильно размыть изображение белого листа, нормализовать цвет в каждой точке (r=r/norm(rgb), g=g/norm(rgb),b=b/norm(rgb)). 

Ну и разделить попиксельно исходное изображение на полученные коэффициенты.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я ещё пробовал переводить в пространство HSV, там определять какой сдвиг по Н даёт объектив.

 

И затем для каждого кадра видео тоже переводить из rgb в hsv, там делать коррекцию, затем назад в rgb.

Честно говоря, наверное идея хорошая, но с реализацией не вышло.

Ни по точности, ни по скорости...

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

переводить в hsv и выделять цвет, можно было бы, если бы изображение листа было без цвета, но так не бывает в реальном мире лист не белый и не серый, он тоже цветной. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, Smorodov сказал:

переводить в hsv и выделять цвет, можно было бы, если бы изображение листа было без цвета, но так не бывает в реальном мире лист не белый и не серый, он тоже цветной. 

А как же баланс белого обычно по белому листу делают?

Или это не правильный подход?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно попробовать белый ящик для фотографирования разных вещей, может оттуда белый более менее получится взять. Погуглите "light box for photography".

 

lightbox.jpeg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поздно но наткнулся на пакет для решения подобных задач:
https://github.com/cruxopen/openISP

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
15 часов назад, Smorodov сказал:

Поздно но наткнулся на пакет для решения подобных задач:
https://github.com/cruxopen/openISP

Большое спасибо.

Совсем даже не поздно.

У нас всё очень неспешно происходит...

 

15 часов назад, Smorodov сказал:

Поздно но наткнулся на пакет для решения подобных задач:
https://github.com/cruxopen/openISP

Но не совсем понял, по какой книге это сделано, вроде ссылка на книгу есть, но что-то не переходит...

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×