Медианный фильтр (2015-2016)

137 views
Skip to first unread message

Alexey Sidnev

unread,
Nov 18, 2015, 9:46:29 AM11/18/15
to Основы программирования
Необходимо взять за основу проект filter и реализовать медианный фильтр.
В директории Release\ находится набор динамических библиотек необходимых для запуска. Для запуска необходимо использовать приложение converter.exe. Пример запуска:
  converter.exe Sample.png filter.dll Sample_out.png

В качестве результата необходимо предоставить исходные коды проекта с реализацией фильтра. Архив с проектом необходимо отправить на почтовый ящик sidne...@gmail.com с темой "Реализация медианного фильтра".

Дополнительная информация по фильтрации: Гонсалес Р., Вудс Р. Цифровая обработка изображений. Москва: Техносфера, 2005 г. — 1072 c.

Особенности:
  1. Применять фильтр необходимо к каждой компоненте цвета (RGB) отдельно.
  2. Результат необходимо сохранить в массиве outputImage. Память под массив выделять не надо.
  3. Все изображения имеют один формат IPL_DEPTH_8U - каждая компонента цвета кодируется в виде беззнакового целого, размером 1 байт.
  4. Параметр nChannels определяет количество компонент цвета.
  5. Каждый пиксель изображения представляет собой в памяти лежащие подряд компоненты цвета. Если изображение имеет 3 компоненты, то 3 подряд идущих байта представляют 3 компоненты цвета (BGR).
  6. Параметр rowsAlignment задаёт количество байт, которое выделено для хранения одной строки изображения. Может быть так, что rowsAlignment больше, чем необходимо памяти для хранения пикселей одной строки.
  7. Перед применением фильтра изображение необходимо дополнить граничными строками (виртуально). Это необходимо для того, чтобы у точек на границе изображения были все соседи, необходимые для применения фильтра.

В директории /Release доступно приложение, которое сравнивает два изображения cmpImg.exe. Для проверки корректности реализации медианного фильтра можно использовать изображение Sample5.png (исходное) и Sample5_out.png (отфильтрованное).
converter_VS2010.zip
Sample5.png
Sample5_out.png

Alexey Sidnev

unread,
Nov 20, 2015, 6:36:19 AM11/20/15
to Основы программирования
Пример выходного файла для изотропного фильтра.
Sample5_out2.png

Alexey Sidnev

unread,
Nov 27, 2015, 2:35:00 AM11/27/15
to Основы программирования
Медианный фильтр. Результаты (количество неверных пикселей на изображении):
  1 2 3 4
Кабалова 1227 2125 0 3095
Калинин 266 639 0 1048
Кипаренко 695 847 1 1000
Петрова 1726 2621 0 3095
Рожнова 1227 2125 0 3095
Сизова 1726 2621 0 3095
Жорин 1226 2125 0 3095

Изотропный фильтр. Результаты (количество неверных пикселей на изображении):
  1 2 3 4
Кабалова 1283 2236 0 3145
Калинин 263 638 0 1048
Кипаренко 0 0 0 0
Петрова 1825 2872 0 3145
Рожнова 1283 2236 0 3145
Сизова 1825 2872 0 3145
Жорин 1283 2236 0 3145

Два контрольных изображения:

Alexey Sidnev

unread,
Nov 30, 2015, 2:36:33 AM11/30/15
to Основы программирования

Alexey Sidnev

unread,
Dec 4, 2015, 5:49:42 AM12/4/15
to Основы программирования
Медианный фильтр. Результаты (количество неверных пикселей на изображении):
  1 2 3 4
Кабалова 0 0 0 0
Петрова 934 1040 0 0
Рожнова 0 0 0 0
Сизова 934 1040 0 0
Жорин 0 0 0 0

Изотропный фильтр. Результаты (количество неверных пикселей на изображении):
  1 2 3 4
Кабалова 0 0 0 0
Петрова 1032 1273 0 0
Рожнова 0 0 0 0
Сизова 1032 1273 0 0
Жорин 0 0 0 0

Alexey Sidnev

unread,
Dec 11, 2015, 7:59:40 AM12/11/15
to Основы программирования
Медианный фильтр. Результаты (количество неверных пикселей на изображении):
  1 2 3 4
Кипаренко 0 0 0 0
Петрова 0 0 0 0
Чапыгин 0 0 0 0
Сизова 0 0 0 0

Изотропный фильтр. Результаты (количество неверных пикселей на изображении):
  1 2 3 4
Петрова 0 0 0 0
Чапыгин 0 0 0 0
Сизова 0 0 0 0

Alexey Sidnev

unread,
Dec 11, 2015, 8:07:15 AM12/11/15
to Основы программирования
Время выполнения фильтрации (медианный фильтр, с):
1 2 3 4
Жорин 0.705635 0.357149 0.895730 0.470210
Кабалова 0.761125 0.390300 0.996295 0.527626
Кипаренко 0.645459 0.322035 0.839882 0.438942
Петрова 0.616148 0.314069 0.758975 0.415647
Рожнова 0.743149 0.369769 1.042479 0.494231
Сизова 0.817468 0.405686 1.125701 0.534139
Чапыгин 0.652077 0.329596 0.808134 0.434077
Reply all
Reply to author
Forward
0 new messages