Jump to content
Compvision.ru
Khludenkov

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

Recommended Posts

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

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

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

 

сенсор.png

Share this post


Link to post
Share on other sites

Готовых решений не знаю, но можно попробовать слепое разделение источников (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

Share this post


Link to post
Share on other sites

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

Цитата

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

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

 

Share this post


Link to post
Share on other sites

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

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

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

i=i_0*i_v

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

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

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

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

 

Share this post


Link to post
Share on other sites

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

 

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

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

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

 

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
2 минуты назад, Smorodov сказал:

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

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

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

 

Share this post


Link to post
Share on other sites

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

 

lightbox.jpeg

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×