Меню Закрыть

Восстановление смазанных и расфокусированных изображений

Фотокамеры в наших мобильных телефонах и гаджетах давно стали обыденностью. Количество снимков, сделанных на мобильные устройства, растет вслед за увеличением количества пикселей и качества фотографий.

Мы настолько привыкли к фотоаппаратам в наших мобильных устройствах, что все чаще памятные и важные моменты нашей жизни сохраняем на мобильные устройства.

Порой события разворачиваются настолько стремительно, что у фотографа не остается времени на тщательную подготовку к снимку и в результате вместо четкой и красивой фотографии получается размытое или смазанное изображение.

В этом случае на помощь пользователю придет приложение Photo Doctor, способное за несколько простых шагов избавить фотографию от эффекта размытия и даже улучшить ее четкость.

Избавление памятной фотографии от дефектов обещает быть несложным и достаточно простым – необходимо выбрать фотографию из альбома на мобильном устройстве, правильно определить характер дефекта на фотографии и последовательно выбирать наилучшие варианты восстановленного изображения.

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

? Результаты восстановления примеров фотографий впечатляют, но верить разработчикам на слово не хотелось 🙂

Поэтому я решил проверить работу приложения на собственной фотографии, клавиатуры ноутбука с явным эффектом «дрожащих рук», будто фотография была сделана в движении.

? Для запуска процесса восстановления фотографии пользователю необходимо определить тип искажения изображения – «отсутствие фокуса» или «снято в движении».

Правило определения типа искажения довольно простое – если на фотографии виден тянущийся «шлейф» от предметов, просматриваются несколько границ одного объекта или просто фотография имеет выраженную смазанность, то необходимо выбирать «Снято в движении». Если у вас есть ощущение, что на фотографию наложена мутная пленка, то рекомендую попробовать выбрать тип искажения «Без фокуса».

? Определение типа искажения ответственный процесс, поскольку от правильного выбора типа искажения зависит применяемый алгоритм обработки изображения и успех операции по его восстановлению.

Читайте также:  Как найти полное сопротивление цепи

Помимо самостоятельного определения типа искажения, пользователю необходимо выбрать область изображения, на которой будет проводится анализ характеристик искажения.

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

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

Должен отметить, что подготовка примеров даже для небольшого участка изображения занимает на моем iPhone 4 не менее 1 минуты времени. Но ради результата можно и потерпеть 🙂

? После окончания обработки выбранного участка изображения пользователю предлагается выбрать наилучший вариант восстановления изображения. Делается это всего лишь дважды и после этого приложение приступает к применению параметров для восстановления искажения на большом изображении.

? Вот он, итоговый результат!

? И для наглядности сравним два изображения:

? В качестве бонуса для пользователей, которые так и не сумели восстановить свои ценные фотографии при помощи приложения, в одном из примеров разработчики заложили адрес электронной почты. Его несложно привести в читабельный вид в самом приложении и разработчики обещают помочь в восстановлении присланной на этот мэйл фотографии.

Представляю вашему вниманию программу smartdeblur для устранения смаза и расфокусировки. Ее первые дистрибутивы и исходники можно скачать на github.com/Y-Vladimir/SmartDeblur , последние, платные дистрибутивы доступны на сайте smartdeblur.net.

Ниже можно увидеть результат обработки размытого изображения. Фотография была получена фотоаппаратом Canon 500D, объективом EF 85mm/1.8. Фокусировка в ручном режиме, для получения размытия. Как видите, текст абсолютно не читаем, можно лишь угадать что это какое-то диалоговое окно.

Читайте также:  Темы на аша 200

А это результат обработки:


Почти весь текст можно прочитать, хотя и есть некоторые искажения.

Вспомним теорию

Во время искажения из каждого пикселя исходной фотографии получается отрезок (во время обычного смаза) или пятно (во время расфокусировки). Все это накладывается и в результате выходит искаженная фотография — это называется конволюцией или сверткой изображения. Закон по которому размазывается один пиксель называется функцией искажения или же PSF (функция распределения точки — Point spread function ).

Чтобы восстановить изображение нам нужно обратить (вернуть в обратном порядке) свертку, но при этом учитывать шум. Но это как раз не так-то просто. На помощь приходит теорема о свертке и преобразование Фурье. Более детально описывать теорию на этом блоге, думаю не стоит. Так как сама цель записи — дать ссылку на программу и сказать что она умеет. Если же вас интересуют теоретические вопросы, то автор посвятил им три статьи:

  • habrahabr.ru/post/136853
  • habrahabr.ru/post/147828
  • habrahabr.ru/post/152885

Описание

Программа SmartDeblur демонстрирует восстановление расфокусированных и смазанных изображений.

  • Большая скорость. Обработка фотографий с разрешением 2048*1500 занимает около 300 мс в режиме Preview.
  • Подбор настроек в Real-time. Не нужно нажимать кнопку Preview, все делается в автоматическом режиме, необходимо только передвигать ползунки настроек.
  • Обработка происходит для фотографии в полном разрешении. Нет никаких маленьких окошек предпросмотров и кнопок Применить.
  • Восстановление расфокусированных и смазанных изображений
  • Подстройка вида PSF

Основной упор был сделан на скорость обработки. В результате она превосходит коммерческие аналоги.

Правда в программе есть ряд особенностей и багов — при некоторых значениях фотография покрывается рябью.

Сравнение

Сравним качество обработки с платными аналогами.
Возьмем 2 самые известные программы:

  1. Topaz InFocus — topazlabs.com/infocus
  2. Focus Magic — focusmagic.com

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

Читайте также:  Как написать в техподдержку эппл

Фото Topaz InFocus: topazlabs.com/infocus/_images/licenseplate_compare.jpg

Обработка с такими параметрами:

Результат на сайте Topaz InFocus:

Второй пример — восстановление разфокусировки.

SmartDeblur — небольшое C++ / QT графическое приложение для восстановления расфокусированных и смазанных изображений. Автор приложения Владимир Южиков.

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

Но восстановление смазанных и расфокусированных снимков, до приемлемого качества, возможно! Хотя разработка соответствующей математической теории и была начата более семидесяти лет назад, алгоритмы устранения размытости, как и другие алгоритмы обработки изображений, получили широкое распространение совсем недавно.

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

SmartDeblur имеет простой, интуитивно понятный пользовательский интерфейс и высокую скорость обработки изображений. Для работы использует библиотеку FFTW (библиотека быстрого преобразования Фурье). Подбор параметров производится в режиме реального времени, всё делается автоматически и в полном разрешении, нужно лишь задавать ползунками настройки необходимые параметры искажения.

Лицензия: GNU GPL v3

Для тех кто заинтересуется теорией восстановления изображений и деконволюции, серия статьей от автора SmartDeblur:

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.