Лабораторная работа №7. 1) Исходными данными являются изображения лабораторной работы № 5
Задание: 1) Исходными данными являются изображения лабораторной работы № 5. Написать m-функцию, параметрами которой является исходное изображение и некоторая константа. В зависимости от значения константы выполняется: - обращение изображения в негатив; - логарифмическое преобразования; - гамма-преобразование; - растяжение контраста. Дополнительные параметры функций IPT задаются пользователем в интерактивном режиме.
2) Выполнить последовательность действий: a. Открыть изображение “1.tif”, преобразовать значения элементов к типу double (изображение а); b. Задать маску фильтра:
c. Произвести фильтрацию изображения а заданным фильтром с использованием функции imfilter. В параметрах функции указать необходимость увеличения размера выходного изображения повторением величин на его боковых границах (изображение b); d. Просуммировать значения элементов изображений a и b (изображение c); e. Выполнить фильтрацию изображения а маской фильтра Собеля для выделения сперва горизонтальных границ, а затем вертикальных границ. Просуммировать два результата фильтрации (изображение d); f. Обработать изображение d маской усредняющего фильтра размера 5х5 (изображение е); g. Произвести умножение значений элементов изображений с и е (изображение f); h. Сложить значения элементов изображений a и f (изображение g); i. Выполнить градационную коррекцию по степенному закону изображения g (возвести значения элементов изображения в степень 0,5) (результирующее изображение).
1) обращение изображения в негатив; function abc(x) f= im2double(imread('1.2.12.jpg')); if x==0 g=1.-f; figure, imshow(mat2gray(g)) end; Рис.1 Изображения в негатива - логарифмическое преобразования; if x==1 l = log(f.*255 + 1); figure, imshow(mat2gray(l)) end; Рис.2 Изображения логарифмического преобразования. - растяжение контраста. if x==2 m=0.1; E=0.5; T=1./(1+(m./f).^E); figure, imshow(mat2gray(T)) end; Рис.3 Изображения полученное при растяжение контраста. - гамма-преобразование; if x==3 k = imadjust(f, [], [], 10); figure, imshow(mat2gray(k)) end; Рис.3 Изображения полученное при гамма-преобразовани. 2) Выполнить последовательность действий: Код: f= im2double(imread('1.tif')); w=[-1 -1 -1; -1 8 -1; -1 -1 -1] g=imfilter(f, w); figure, imshow(mat2gray(g)) Рис4. Промежуточный вариант (изображение b). j. Просуммировать значения элементов изображений a и b (изображение c); f2 = imadd(f, g); figure, imshow(mat2gray(f2)); Рис5. Сумма изображений.
e. Выполнить фильтрацию изображения а маской фильтра Собеля h=fspecial('sobel'); d1=imfilter(f, h); d2=imfilter(f, h'); d=imadd(d2, d1); figure, imshow(mat2gray(d)); Рис6. Изображение d. k. Обработать изображение d маской усредняющего фильтра размера 5х5 (изображение е); k=fspecial('average',5); k1=imfilter(d, k); figure, imshow(mat2gray(k1)); Рис6. Изображение е. l. Произвести умножение значений элементов изображений с и е (изображение f); c = immultiply(f2, k1); figure, imshow(mat2gray(c)); Рис7. Изображение f.
m. Сложить значения элементов изображений a и f (изображение g); q = imadd(f, c); figure, imshow(mat2gray(q)); . Рис7. Изображение q. n. Выполнить градационную коррекцию по степенному закону изображения g p = q.^0.5; figure, imshow(mat2gray(p)); Рис8. Результирующее изображение.
Лабораторная работа №7
|