11. Построить гистограммы распределения уровней яркости двух ранее полученных участков исходного изображения и вывести их в разных подокнах, расположив горизонтально.
12. Сделать на графике соответствующие поясняющие надписи: обозначения осей, заголовок.
6. Библиографический список
1. Мартынов Н.Н., Иванов А.П. Matlab 5.x. Вычисления, визуализация, программирование. М.: Кудиц-образ, 2000. 336 с.
2. Потемкин В.Г. Введение в Matlab. М.: Диалог-МИФИ, 2000. 256 с.
3. Рудаков П.И., Сафонов И.В. Обработка сигналов и изображений. Matlab 5.x / Под общ. ред. В.Г. Потемкина. М.: Диалог-МИФИ, 2000. 416 с.
ЛАБОРАТОРНАЯ РАБОТА № 2
МЕТОДЫ ФИЛЬТРАЦИИ ИЗОБРАЖЕНИЙ
1. Цель работы
Целью работы является знакомство с основными методами фильтрации применительно к различным задачам обработки изображений и способами их реализации в MATLAB Image Processing Toolbox.
2. Краткие теоретические сведения
Под фильтрацией изображения понимается его обработка линейными или нелинейными операторами (фильтрами) с целью придания обрабатываемому изображению желаемых характеристик. Цель обработки и свойства используемых фильтров различаются в зависимости от решаемых задач (реставрация изображений, подавление шумов, выделение границ и др.). Поэтому различные методы фильтрации далее будут рассмотрены применительно к конкретным задачам.
При реализации любых методов фильтрации изображений на ЭВМ исходное непрерывное изображение, описываемое функцией яркости , подвергается пространственной дискретизации с шагом и квантованию по уровню. В результате получается матрица , элементами которой являются значения исходной непрерывной функции яркости в узлах дискретной решетки , округленные до ближайшего уровня квантования. Дальнейшей обработке подвергаются уже элементы матрицы F, которые будем обозначать . При обработке изображений в MATLAB Image Processing Toolbox с использованием описанных ниже функций элементы матрицы F предварительно преобразуются в формат double, в котором яркость полутонового изображения изменяется в диапазоне от 0 до 1 (0 – черный цвет, 1 – белый). Поэтому различные параметры вызываемых функций следует указывать с учетом того, что яркость точек изображения не превышает единицы.
2.1. Подавление шумов
Наблюдаемое изображение часто бывает искажено шумами и помехами различного физического происхождения: шумами видеодатчика, шумами зернистости фотоматериалов, ошибками в каналах передачи информации и др. При математическом описании искаженных изображений чаще всего используют аддитивный, импульсный и мультипликативный типы шумов.
Если идеальное (незашумленное) изображение обозначить , то наблюдаемое изображение , искаженное аддитивным шумом, можно представить в виде
, (1)
где - случайная функция, закон распределения которой чаще всего является гауссовским с нулевым средним и дисперсией .
Импульсный шум проявляется на изображении в виде отдельных точек с максимальной (белой) или минимальной (черной) яркостью. Белые точки часто называют “солевым шумом”, а черные – “перечным шумом”.
(2)
Изображение , поврежденное мультипликативным шумом, можно представить в виде
, (3)
где - случайная функция, закон распределения которой в дальнейшем примем равномерным с нулевым средним и дисперсией . Пример изображения, поврежденного различными типами шумов, приведен на рис. 1.
а |
б |
в |
г |
Рис. 1. Различные типы шумов: а - незашумленное изображение биологических клеток живой ткани; б - зашумленное изображение (аддитивный гауссовский шум); в - зашумленное изображение (импульсный шум); г - зашумленное изображение (мультипликативный шум) |
В MATLAB Image Processing Toolbox зашумление изображения различными типами шума осуществляется функцией imnoise. В зависимости от вида шума функция может иметь разные форматы:
1) аддитивный гауссовский шум
J = imnoise(I,'gaussian',m,v),
где J– зашумленное изображение; I – исходное изображение; m – среднее значение шума (по умолчанию 0); v – дисперсия шума (по умолчанию 0.01);
2) импульсный шум (“соль и перец”)
J = imnoise(I,'salt & pepper',d),
где d – плотность шума, т. е. отношение числа поврежденных точек изображения к общему числу точек (по умолчанию 0.05);
3) мультипликативный шум
J = imnoise(I,'speckle',v),
где v – дисперсия шума (по умолчанию 0.04).
Как правило, шумы проявляются в виде разрозненных изменений отдельных элементов изображения и искаженные элементы могут заметно отличаться от соседних. На практике используются различные алгоритмы подавления шумов с помощью локальных операторов сглаживания (усреднения), являющихся по существу низкочастотными фильтрами. Элементы изображения , получаемого в результате обработки исходного изображения двумерным линейным дискретным фильтром, импульсная характеристика которого задается матрицей H размерности K×L (K и L – нечетные), вычисляются по формуле дискретной свертки
, (4)
где – элементы матрицы H. Подавление шумов обеспечивается низкочастотной фильтрацией с помощью матрицы с положительными элементами. Наибольшее распространение получили следующие матрицы размерности 3×3, часто называемые шумоподавляющими масками:
(5)
Матрицы нормированы для получения единичного коэффициента передачи, чтобы процедура подавления шума не вызывала смещения средней яркости обработанного изображения. Существуют маски бóльших размеров (5×5, 7×7 и т.д.), но они используются реже.
В MATLAB Image Processing Toolbox фильтрация изображений шумоподавляющими масками может быть реализована с помощью функции imfilter, которая вызывается следующим образом:
J = imfilter(I,H),
где J – профильтрованное изображение; H– маска фильтра; I – исходное изображение. Маски фильтров, приведенных в выражениях (5), в системе MATLAB задаются следующим образом:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.