Практикум лаб раб. Контрольные вопросы для проверки усвоения материала и задания на выполнение работы
Скачать 1.14 Mb.
|
uint8, uint16 или double, а класс выходного совпадает с входным. Все яркостные параметры должны быть вещественными числами в диапазоне от 0 до 1. Если вместо интервалов [low_in, high_in] и [low_out, high_out] поставить пустой вектор ([ ]), то их значения будут взяты по умолчанию, равные [0,1]. Параметр gamma используется для задания формы кривой преобразования яркости, которую называют гамма- характеристикой. Возможные варианты гамма-характеристики приведены на рис. 5.2. Если параметр gamma опущен, то его значение устанавливается равным 1. 57 Рис. 5.2 – Возможные варианты гамма-характеристики Негатив изображения Процедура получения негатива изображения является весьма полезной для усиления белых и серых участков, окруженных большими, преимущественно темными, областями. Негативное изображение можно построить, используя функцию incomplement из пакета Im- age Processing Toolbox: g= incomplement (f), где f – исходное изображение. Цифровым эквивалентом получения негатива изображения является функция g=imadjust (f, [0, 1], [1, 0]). Гистограмма яркости и работа с ней Функции преобразования изображений, основанные на информации, которая извлекается из гистограмм яркости, играют ключевую роль при обработке изображений, совершаемой при решении задач улучшения изображений, их сжатия, сегментации и описания. Гистограммой цифрового изображения с число возможных уровней яркости L, лежащих в диапазоне [0, G], называется дискретная функция h(r k ) = n k , где r k – это k-ый уровень яркости из интервала [0, G], а n k – число пикселов изображения, уровни яркости которых равен r k . Индексы в MATLAB начинаются сане с 0. Часто бывает удобно работать с нормированными гистограммами, которые получаются делением элементов h(r k ) на общее число пикселов изображения n: p(r k )=h(r k )/n = n k /n при k= 1,2,..,L. Сточки зрения теории вероятностей, число p(r k ) – это вероятность (частота) появления (присутствия) уровня интенсивности r k в данном изображении. Функция imhist служит построения гистограмм распределения яркости и используется в форме h=imhist (f, b), где h – гистограмма изображения, f – входное изображение, b – число отображаемых градаций шкалы яркости (если не указано, то по умолчанию b = 256). Чтобы получить нормированную гистограмму, надо разделить полученную гистограмму на общее число пикселов изображения p = imhist(f, b)/numel(f). Numel(f) дает число элементов массива f, то есть число пикселов изображения. Гистограммы распределения яркостей типичного изображения естественных объектов имеют явно выраженную неравномерность, поэтому контраст такого изображения часто получается низким. Эквализация гистограммы подразумевает такое преобразование исходного изображения, при котором его гистограмма распределения яркости отвечала бы равномерному закону распределения. Иными словами, данное преобразование порождает изображение, уровни яркости которого являются равновероятными и покрывают весь интервал [0, 1]. Результатом этого процесса является большая контрастность выходного изображения. 58 Эквализация гистограммы реализована в пакете Image Processing Toolbox функцией g=histeq(f, nlev), где f – исходное изображение, nlev – число уровней яркости для выходного изображения g. Параметр nlev по умолчанию имеет значение 64, поэтому для истинной реализации метода гистограммной эквализации рекомендуется использовать nlev = 256. Гистограммная эквализация совершается преобразованием, которое является адаптивным в том смысле, что оно зависит от гистограммы исходного изображения. Однако если функция преобразования уже вычислена, то она не будет меняться, пока не изменится само изображение. Вычислить функцию преобразования гистограммы, построенную на основе гистограммной эквализации, можно основываясь на том, что она является кумулятивной суммой величин нормированной гистограммы построение функции преобразования гистограммы- hnorm=imhist(f)./numel(f); нормируем гистограмму sdf = cumsum(hnorm); вычисляем функцию кумулятивного распределения %CDF (Cumulative Distribution Function) x =linspace(0, 1, 256); задаем масштаб графика по оси Х figure; plot (x,sdf); строим график axis([0 1 0 1]); set(gca, 'xtick', 0:0.2:1) наносим метки на оси Х set(gca, 'ytick', 0:0.2:1) наносим метки на оси Y xlabel ('Input intensity','fontsize', 9) надпись на оси Х ylabel ('Output intensity','fontsize', 9) надпись на оси Y text(0.18, 0.5, 'Transformation function', 'fontsize', 9) текст на графике Гистограммная эквализация улучшает изображение путем расширения диапазона его уровней до более широкой шкалы яркости. Такая процедура не всегда приводит к удовлетворительному результату. Поэтому в конкретных приложениях полезно уметь задавать форму гистограммы, которую желательно иметь для обработанного изображения. Метод построения обработанного изображения с заданной гистограммой называется гистограммной подгонкой или гистограммной спецификацией. В пакете Image Processing Toolbox данный метод реализован в функции histeq со следующим вариантом синтаксиса g=histeq(f, hspec), где f – это входное изображение, hspec – заданная гистограмма (вектор-строка), g – выходное изображение, гистограмма которого близка к заданной гистограмме hspec. Этот вектор должен состоять из целых чисел, соответствующих одинаковым разбиениям диапазона уровней. Подготовка к работе Ознакомиться с теоретическим материалом и рекомендованной литературой. Подготовить ответы на контрольные вопросы. Задание на выполнение работы Задание Создать и отладить программу, решающую следующие задачи а) загрузить изображение 1 с помощью функции imread. Если выяснено, что изображение цветное (состоит из трех компонент, преобразовать его в полутоновое с помощью функции rgb2gray; б) с помощью функции size определить пиксельный размер изображения в виде вектора [M, N]; 59 в) определить максимальное I max и минимальное I min значения яркостей пикселов изображения и вычислить контраст К г) определить координаты первого максимума (r 1 , c 1 ) и минимума (r 2 , c 2 ); Для решения задача, б, в) и г) создать М-функцию. д) вывести загруженное изображение в графическое окно с помощью функции imshow, при этом сформировать пояснительные надписи Original, MxN, Imax=xxx(r1,c1), Imin=xxx(r2,c2), К=ххх. Для того, чтобы не изменять исходное изображение при выводе на экран следует использовать функцию imshow без параметров е) используя функцию imadjust изменить контраст изображения, преобразовав минимальное и максимальное значения яркости до значений, соответствующих варианту задания таблица 5.1). Параметр gamma выбрать исходя из условий получения наилучшей информативности ж) определить максимальное I max и минимальное I min значения яркостей пикселов икон- траст К обработанного изображения з) вывести полученное изображение в графическое окно с помощью функции imshow, при этом сформировать пояснительные надписи Rezalt1, MxN, Imax=xxx(r1,c1), Imin=xxx(r2,c2), К=ххх; и) преобразовать полученное изображение в негативное к) определить максимальное I max и минимальное I min значения яркостей пикселов икон- траст К обработанного изображения л) вывести полученное изображение в графическое окно с помощью функции imshow, при этом сформировать пояснительные надписи Negative, MxN, Imax=xxx(r1,c1), Imin=xxx(r2,c2), К=ххх. м) сохранить полученные изображения на диск. Проанализировать изображения, выведенные в графические окна, с помощью встроенного инструментария ас помощью инструмента Data Cursor найти и нанести на изображение информацию о пикселах с максимальной и минимальной яркостью. Задание Создать и отладить программу, решающую следующие задачи а) загрузить изображение, полученное в пункте з) задания 1; б) вычислить среднюю яркость изображения I cp ; в) вывести изображение на экран, сформировав поясняющую надпись Original, Icp=xxx; г) используя функцию imadjust выполнить усиление контраста для диапазона средних значений яркости [(I cp –0,25I cp ), (I cp +0,25I cp )], преобразовав его к максимальному диапазону [0, 1]. Параметр gamma выбрать исходя из условий получения наилучшей информативности д) вывести полученное изображение на экран, сформировав поясняющую надпись Rezalt2, gamma=xx; е) сохранить полученное изображение на диск. Проанализировать изображения, выведенные в графические окна, с помощью встроенного инструментария. Сделать выводы. Задание Создать и отладить программу, решающую следующие задачи а) загрузить изображение 2, указанное в таблице с вариантами заданий б) построить гистограмму распределения яркостей исходного изображения в) вывести исходное изображение и его гистограмму водно окно экрана размером х, сформировав поясняющие надписи Original; г) выполнить эквализацию гистограммы исходного изображения 60 д) вывести преобразованное изображение и его гистограмму водно окно экрана размером х, сформировав поясняющие надписи Rezalt; е) построить и вывести в окно на экране характеристику преобразования гистограммы (последовательность команд для выполнения задачи е) оформить в виде М- функции ж) вывести все полученные изображения и гистограммы водно окно, размером х, сформировав поясняющие надписи з) сохранить все полученные изображения в файл на диске. Выполнить анализ полученных изображений. Сделать и записать выводы. Таблица 5.1 Варианты для выполнения заданий № варианта low_out high_out Изображение 1 Изображение 2 1 0 1 foto_1_0 foto_6_0 2 0.1 0.9 foto_1_1 foto_6_1 3 0.15 1 foto_5_1 foto_6_2 4 0.05 0.85 foto_4_0 foto_6_3 5 0.1 1 foto_4_1 foto_7_0 6 0 0.9 foto_4_2 foto_7_1 7 0 1 foto_3_0 foto_7_2 8 0.2 0.9 foto_3_1 foto_7_3 9 0.15 0.95 foto_3_2 foto_8_0 10 0.05 0.95 foto_3_3 foto_8_1 Требования к отчёту Отчѐт должен содержать титульный лист с указанием названия ВУЗа, кафедры, номера и темы лабораторной работы, а также фамилии ИО. студента, подготовившего отчѐт; цель выполняемой работы задания листинги всех программ с обязательными комментариями полученные на каждом этапе работы изображения выводы по каждому выполненному заданию. Контрольные вопросы Для чего служит пакет расширения Image Processing Toolbox? Поясните необходимость и суть градационных преобразований изображений. Дайте определение яркости и контраста изображения. Почему градационные преобразования можно считать простейшей пространственной обработкой Для чего служит функция imadjust? Какой синтаксис она имеет Как влияет на восприятие изображений гамма-характеристика? Какими способами можно получить негатив исходного изображения Опишите их. Что такое гистограмма яркости Используя какую функцию можно еѐ получить Нормированная гистограмма и способы ее получения. Для чего используется эквализация гистограммы ив чем она заключается Что представляет собой функция преобразования гистограммы и как можно еѐ построить С помощью каких функций можно определить экстремальные значения яркости пиксе- лов изображения и их координаты 61 Как можно вычислить среднюю яркость изображения Опишите основные части, из которых состоит М-функция. Каким образом можно создать и использовать М-функцию? Рекомендуемая литература Matlab и Simulink – сообщество пользователей, материалы, книги, форум Электронный ресурс – Режим доступа http://matlab.exponenta.ru, свободный. – Загл. с экрана. Дьяконов, В. П. MATLAB 6.5 SP1/7/7 SP1 + Simulink 5/6. Работа с изображениями и видеопотоками Текст / В. П. Дьяконов. – М СОЛОН-Пресс, 2005. – с, 203…206. Гонсалес, Р. Цифровая обработка изображений в среде MATLAB Текст / Р. Гонсалес, Р. Вудс, С. Эддинс. – М.:Техносфера, 2006. – с. Солонина, АИ. Цифровая обработка сигналов. Моделирование в MATLAB Текст / АИ. Солонина, СМ. Арбузов. – СПб.: БХВ-Петербург, 2008. – 816 с. 62 Лабораторная работа №6 Пространственная фильтрация изображений. Подавление импульсных шумов Цель работы Изучение возможностей пакета Image Processing Toolbox. Изучение основных типов шумов на изображениях, методов их моделирования. Изучение методов фильтрации импульсных шумов. Получение практических навыков в составлении программ. Теоретический материал Восстановление – одна из задач обработки изображений. Целью восстановления является реконструкция изображения, которое ранее было искажено или испорчено процессами, информация о которых априори известна. Поэтому методы восстановления основаны на моделировании процессов искажения и применения обратных процессов для получения исходных изображений. Шумы и их классы Шум является одной из основных причин приводящих к искажению изображений. Основные источники шума на цифровом изображении связаны с процессами формирования изображения в датчике ив устройстве отображения, а также с процессами связанными с преобразованием и передачей изображения по каналам передачи. Значения пространственного шума являются случайными величинами, которые, тем не менее, можно описать математически. Существуют несколько важных типов шумов, каждый из которых обладает специфическими пространственными характеристиками. Основной характеристикой шума является функция плотности распределения вероятности (PDF, Probability Density Function): Гауссов (нормальный) шум шум Релея; шум Эрланга (гамма шум экспоненциальный шум равномерный шум импульсный шум. В системе MATLAB (Image Processing Toolbox) существует возможность формирования и наложения на изображение шумов. Для этого используется встроенная функция im- noise, которая предназначена для добавления в изображение определенного типа шума с заданными характеристиками. С помощью этой функции можно сформировать и наложить на изображение три типа шума 1) gaussian – гауссовый белый шум (нормальный. Имеет равномерный спектр во всей полосе пространственных частот и проявляется на изображении в виде характерных посторонних вкраплений 2) salt & pepper – импульсный шум, который проявляется в виде включенных или выключенных пикселов; 3) speckle – мультипликативный шум, который вводится в изображение в результате перемножения изображения и равномерного шума с нулевым средним значением. Функция imnoise имеет следующий синтаксис g=imnoise (f, type, parameters), где f исходное изображение, type – тип задаваемого шума, parameters – аргументы, которые позволяют задать дополнительно параметры шума. Например g=imnoise(f, ‘gaussian’, m, добавляет к изображению f гауссовский белый шум со средним значением m и отклонением (дисперсией) var (по умолчанию m=0, var=0.01). 63 g=imnoise (f, ‘salt & pepper’, d), где f исходное изображение, d – плотность шума. Добавляет импульсный шум в виде черных и белых пикселов. Плотность шума d приблизительно равна проценту изображения, поврежденного шумом. Число шумовых пикселов можно оценить по формуле d*numel(f). По умолчанию d=0.05. g=imnoise(f, ‘speckle’, var) добавляет к изображению f мультипликативный шум по формуле g=f+n*f, где n – равномерно распределенный шум со средним значением равными отклонением (дисперсией) var (по умолчанию var=0.04). Подавление шума методами пространственной фильтрации Процессы при фильтрации в пространственной области можно обозначить уравнением g(x, y)=T[f(x, y)], где f(x, y) – входное изображение, g(x, y) – выходное (обработанное) изображение, а T – некоторый оператор (преобразование) над f, который определен в некоторой окрестности точки с координатами (x, y). В качестве окрестности точки с координатами (x, y) используется квадратная или прямоугольная область с центром в точке (x, y), которую чаще всего называют маской (рис. 6.1). Рис. 6.1 – Принцип пространственной фильтрации Процесс фильтрации основан на перемещении маски фильтра от точки к точке исходного изображения и состоит из последовательности следующих действий определение центральной точки с координатами (x, y); совершение линейной или нелинейной операции, которая использует значения пик- селов, покрываемых маской в окрестности вокруг центральной точки (x, y); назначении результата этой операции откликом в этой точке повторение всего процесса для каждой точки изображения. Отклик фильтра по маске m x n определяется выражением 1 1 2 2 1 mn mn mn i i i R w Z w Z w Z w где w i – коэффициенты маски Z i значения яркости пикселов, покрываемых маской m, n – размеры маски. Для подавления высокочастотных шумов, которые проявляются в виде точек с размерами соизмеримыми с размерами пикселов изображения, часто используют однородный усредняющий фильтр, маска которого, для размерах, показана на рис. 6.2. Отклик, формируемый таким фильтром будет равен 9 1 1 Отсюда следует, что на каждом шаге обработки яркость центрального пиксела под маской будет заменяться средним значением яркости пикселов, покрываемых маской. Поскольку яркость пикселов, содержащих шум характерна резкими выбросами, она будет заменена на средние значения по окрестности, что приведет к снижению шумовой составляющей в изображении. |