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

Размытость

Recommended Posts

Доброго времени суток. Вопрос касается размытости изображения и определения сдвига изображения. Для определения сдвига изображения использовал функцию 

phaseCorrelate

но удовлетворительные результаты она приносит лишь тогда, когда изображение является более менее четким. Например снятое на сотовый телефон. Но если видео несколько размыто то эта функция оказывается не работоспособной. А потому возникла необходимость как то его сперва улучшить (увеличить резкость если можно так сказать). Нашел следующую статью 

и сильно удивился что нет получается никаких стандартных функций для этой цели. На сегодняшний день какие методы решения данной задачи Вы знаете еще или что удалось реализовать? Подскажите (поделитесь) если можно пожалуйста.

Изменено пользователем Smorodov

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


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

Это сложная проблема.

1. Можно просто увеличить резкость. Это свёртка с простым ядром 3х3, например. Или 1001 другой аналогичный способ. Может справиться с простейшим гауссовым шумом.

2. Найти функцию размытия (PSF) и произвести деконволюцию. Поиск такой функции - ооочень медленный процесс, не видел реалтайм реализаций. Этот способ годится также для убирания motion blur.

Что тебе надо?

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


Ссылка на сообщение
Поделиться на других сайтах
3 hours ago, Sergey1985 said:

Вопрос касается размытости изображения и определения сдвига изображения.

Вот тут описана теория, плюс есть ссылка на исходники (пусть и ранней версии) программы http://habrahabr.ru/post/175717/

Может быть пригодится

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


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

Благодарю за ссылку. Задача не тривиальная - это понятно. Ну тогда постараюсь добавить в свой вопрос немного конкретики. Есть видео, кадр из которого я прикрепил (pic). На этом видео данная мира трясется. Необходимо установить максимальное смещение. Были и другие видео. Но как я и говорил phaseCorrelate не самый лучший способ определения смещения. Поэтому я пользовался методом описанным здесь http://robocraft.ru/blog/computervision/3046.html и определял смещение видео по смещению выбранного фрагмента. Но с мирой даже и этот способ оказался не дееспособным. 

pic.bmp

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


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

Попробуйте оптический поток. Лукаса-Канаде или Фарнебека.  Если кроме тряски у Вас нет никакого движения на видео, то просто вычисляете среднее смещение ключевых точек (в случае разреженного оп) или пикселей (в случае плотного оп). А потом по серии кадров вычисляете максимум.

Ещё можете посмотреть варианты в исходниках OpenCV в модуле стабилизации видео ( PyrLkRobustMotionEstimator, например )

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


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

Как показывает практика, для поиска глобального движения на отдалённых сценах с небольшими движущимися объектами отлично работает подход, описанный, например, в книге Richard Szeliski в разделе 8.2 Parametric motion. Вот тут можно почитать черновик книги. Подход и быстрый, и точный. По сути это тот же пирамидальный Лукас-Канаде, но не в привычном своём виде для набора точек, а для всего кадра целиком. Работает и для размытый изображений, и для изображений без особенностей, детектируемых алгоритмами типа SIFT.

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


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

Я использую OpenCV2.4.9 поэтому  PyrLkRobustMotionEstimator  у меня нет.  Но cv::videostab идея кажется правильная. В исходниках есть пример, но он во первых слишком сложен для меня, во вторых не программа заканчивается с ошибкой сразу после запуска. Есть ли примеры применения классов из cv::videostab более простые в понимании?  

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

×