Файл: Контрольная работа 1 Алгоритмы обработки изображений и компьютерное зрение.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.11.2023
Просмотров: 87
Скачиваний: 4
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Поволжский государственный университет телекоммуникаций
и информатики
Заочный факультет
РЕГИСТРАЦИОННЫЙ № ______
Контрольная работа № 1
«Алгоритмы обработки изображений и компьютерное зрение»
Студенческий билет №203152
Студент Нехорошев Константин Алексеевич
Факультет _ФЗО___курс _3___ гр.__ИСТ05____
Работа выслана «_____»_________________ 20____г.
Оценка _______________ Дата _______________20_____г.
Подпись преподавателя ___________________
Задание 1
1) Создать и отладить программу, решающую следующие задачи:
а) загрузить изображение 1 с помощью функции imread. Если
выяснено, что изображение цветное (состоит из трех компонент), преобразовать его в полутоновое с помощью функции rgb2gray;
б) с помощью функции size определить пиксельный размер
изображения в виде вектора [M, N];
в) определить максимальное Imax и минимальное Imin значения
яркостей пикселов изображения и вычислить контраст К;
г) определить координаты первого максимума (r1, c1) и минимума
(r2, c2);
Для решения задач а), б), в) и г) создать М-функцию.
д) вывести загруженное изображение в графическое окно с помощью функции imshow, при этом сформировать пояснительные надписи: Original, MxN, Imax=xxx(r1,c1), Imin=xxx(r2,c2), К=ххх. Для
того, чтобы не изменять исходное изображение при выводе на экран
следует использовать функцию imshow без параметров;
е) используя функцию imadjust изменить контраст изображения, преобразовав минимальное и максимальное значения яркости до
значений, соответствующих варианту задания (табл. 6.1). Параметр
gamma выбрать исходя из условий получения наилучшей информативности;
ж) определить максимальное Imax и минимальное Imin значения
яркостей пикселов и контраст К обработанного изображения;
з) вывести полученное изображение в графическое окно с помощью функции imshow, при этом сформировать пояснительные надписи: Rezalt1, MxN, Imax=xxx(r1,c1), Imin=xxx(r2,c2), К=ххх;
и) преобразовать полученное изображение в негативное;
к) определить максимальное Imax и минимальное Imin значения
яркостей пикселов и контраст К обработанного изображения;
л) вывести полученное изображение в графическое окно с помощью функции imshow, при этом сформировать пояснительные надписи: Negative, MxN, Imax=xxx(r1,c1), Imin=xxx(r2,c2), К=ххх.
м) сохранить полученные изображения на диск.
Программа:
f='foto_1_1.tif';
A=imread(f);
I=imfinfo(f);
figure(1),imshow(f);
title(['Original, ',num2str(I.Height),'x',num2str(I.Width)]);
close(1)
if I.BitDepth/8==3
Agray=rgb2gray(A);
else
Agray=A;
end
Imin=min(min(Agray));
Imax=max(max(Agray));
K=Imax/Imin;
[r1,c1]=find(Agray==max(max(Agray)));
[r2,c2]=find(Agray==min(min(Agray)));
figure, imshow(f)
title(['Original, ',num2str(I.Height),'X',num2str(I.Width), ', Min Brightness = ', num2str(Imin),', Max Brightness = ', num2str(Imax), ', K = ', num2str(K)])
J=imadjust(A, [0, 1], [0, 1],0.5);
Imin=min(min(J));
Imax=max(max(J));
K=Imax/Imin;
figure, imshow(J)
[M, N]=size(J);
title(['Result, ',num2str(M),'X',num2str(N), ', Min Brightness = ', num2str(Imin),', Max Brightness = ', num2str(Imax), ', K = ', num2str(K)])
G=imcomplement(J);
Imin=min(min(G));
Imax=max(max(G));
K=Imax/Imin;
figure, imshow(G)
[M, N]=size(G);
title(['Negative, ',num2str(M),'X',num2str(N), ', Min Brightness = ', num2str(Imin),', Max Brightness = ', num2str(Imax), ', K = ', num2str(K)])
Задание 2
2) Создать и отладить программу, решающую следующие задачи:
а) загрузить изображение 2 с помощью функции imread. Если
выяснено, что изображение цветное (состоит из трех компонент), преобразовать его в полутоновое;
б) определить максимальное Imax и минимальное Imin значения
яркостей пикселов изображения и вычислить контраст К;
в) определить координаты первого максимума (r1, c1) и минимума
(r2, c2);
г) вычислить и построить гистограмму яркости исходного изображения;
д) вывести исходное изображение и его гистограмму в отдельные
графические окна. Предусмотреть вывод поясняющих надписей: Original,
MxN, Imax=xxx(r1,c1), Imin=xxx(r2,c2), К=ххх и Histogram;
е) с помощью функции imagjust выполнить контрастирование
исходного изображения, преобразовав минимальное и максимальное
значения яркости до максимально возможных.
ж) определить координаты первого максимума (r1, c1) и минимума
(r2, c2);
з) вычислить и построить гистограмму яркости преобразованного
изображения;
и) вывести обработанное изображение и его гистограмму в отдельные графические окна. Предусмотреть вывод поясняющих надписей:
Rezalt, MxN, Imax=xxx(r1,c1), Imin=xxx(r2,c2), К=ххх и Histogram;
к) сохранить полученное изображение в текущий каталог на
диск.
2) Проанализировать изображения, выведенные в графические
окна. Сделать и записать выводы.
f='foto_6_1.tif';
A=imread(f);
I=imfinfo(f);
if I.BitDepth/8==3
Agray=rgb2gray(A);
else
Agray=A;
end
Imin=min(min(Agray));
Imax=max(max(Agray));
K=Imax/Imin;
subplot(2,2,1), imshow(f);
title(['Original, ',num2str(I.Height),'x',num2str(I.Width), ', Min Brightness = ', num2str(Imin),', Max Brightness = ', num2str(Imax), ', K = ', num2str(K)]);
[r1,c1]=find(A(:,:)==max(max(A)),1);
[r2,c2]=find(A(:,:)==min(min(A)),1);
subplot(2,2,2), imhist(A);
title('Histogram')
J=imadjust(A,[],[.5, .8]);
[r1,c1]=find(A(:,:)==max(max(J)),1);
[r2,c2]=find(A(:,:)==min(min(J)),1);
subplot(2,2,3), imshow(J);
Imin=min(min(J));
Imax=max(max(J));
%K=Imax/Imin;
title(['Result, ',num2str(I.Height),'x',num2str(I.Width), ', Min Brightness = ', num2str(Imin),', Max Brightness = ', num2str(Imax), ', K = ', num2str(K)]);
subplot(2,2,4), imhist(J);
title('Histogram')
imwrite(J, 'zad62.tif')
Задание 3
1) Создать и отладить программу, решающую следующие задачи:
а) загрузить изображение 2, указанное в таблице с вариантами заданий;
б) построить гистограмму распределения яркостей исходного
изображения;
в) построить нормированную гистограмму яркости;
г) вывести исходное изображение и его две гистограммы в одно графическое окно размером 3х2, сформировав поясняющие надписи
Original, Hist, Norm Hist;
д) выполнить обработку исходного изображения методом эквализации гистограммы;
е) вывести преобразованное изображение и его нормированную
гистограмму в графическое окно размером 3х2, сформированное в п. г)
снабдив их поясняющими надписями Rezalt и Histeg;
f='foto_6_1.tif';
A=imread(f);
I=imfinfo(f);
if I.BitDepth/8==3
Agray=rgb2gray(A);
else
Agray=A;
end
subplot(2,2,1), imshow(A);
title('Original')
subplot(2,2,2), imhist(A)
title('Histogram')
subplot(2,2,3), bar(imhist(A)/numel(A))
title('Norm Histogram')
xlim([0 255]);
subplot(2,2,4), imshow(histeq(A,256));
title('Histeq')