Вы здесь

Фильтры улучшения изображения

Исходный код на C++: 

Теория

Перед прочтением данной статьи рекомендуется ознакомиться со статьей «Пространственные фильтры (основы)».В данной статьи будут описаны пространственные фильтры улучшения изображения основанные на вторых производных. Вторая производная дискретной функции может быть представлена следующим образом рис. 1.

Вторая производная дискретной функции
Рис. 1. Вторая производная дискретной функции.

Формула на рис. 1 описывает одномерный случай, выведем подобные уравнения для двумерного случая рис. 2.

Вторая производная дискретной функции для двух переменных
Рис. 2. Вторая производная дискретной функции для двух переменных.

Объединяя два уравнения в одно получим уравнение двумерного лапласиана рис.3.

Уравнение  лапласиана
Рис. 3. Уравнение лапласиана.

На основание данного уравнения реализуем маску рис. 4.

Маска фильтра дискретного лапласиана созданная на основе уравнения  рис.3
Рис. 4. Маска фильтра дискретного лапласиана созданная на основе уравнения рис.3.

Расширенная маску лапласиана, полученная путем добавления диагональных элементов, имеет следующий вид рис. 5.

Расширенная маска лапласиана путем добавлением диагональных элементов
Рис. 5. Расширенная маска лапласиана путем добавлением диагональных элементов.

Оператор лапласиана есть вторая производная. После применение масок на основе лапласиана, фон изображения становиться серым. Поэтому преобразование изображения можно разделить на два этапа: обработка изображения фильтром; вычесть из исходного изображения обработанное изображение .Вычитание повысит резкость результирующего изображения. На практике не пользуются двумя этапами обработки изображения, чаще использую модифицированные маски представленными на рис. 6 и рис 7 соответственно.

Модификация маски рис. 4
Рис. 6. Модификация маски рис. 4.

Модификация маски рис. 5
Рис. 7. Модификация маски рис. 5.

Применение модифицированных масок приводит к желаемому результату за одну итерацию. Продемонстрируем работу составных масок лапласиана. На рис. 8 представлено исходное изображение.

Исходное изображение
Рис. 8. Исходное изображение.

Воспользуемся «Гауссовым размыванием» и наше исходного изображение примет следующий вид рис. 9.

Применение  фильтра «Гауссово размывание»
Рис. 9. Применение фильтра «Гауссово размывание».

Визуально видно, что наше изображения потеряло резкость. Для повышения резкости изображения воспользуемся модифицированными масками лапласиана. Результат работы масок представлен на рис. 10 и рис. 11.

Изображение преобразованное маской рис. 6
Рис. 10. Изображение преобразованное маской рис. 6.

Изображение преобразованное маской рис. 7
Рис. 11. Изображение преобразованное маской рис. 7.

Визуально видно, что резкость изображения увеличилась. Изображение преобразованное фильтром (рис. 7) дает более четкую картинку.