ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.11.2023
Просмотров: 116
Скачиваний: 9
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИФедеральное государственное бюджетное образовательное учреждение высшего образования«ПОВОЛЖСКИЙ ГОСДАРСТВЕННЫЙ УНИВЕРСИТЕТТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ»Кафедра информационных систем и технологийЛабораторная работа № 5по дисциплине «Алгоритмы обработки изображений и компьютерное зрение»Тема: Простые операции с изображениямиВыполнил: студент 3У курсагруппы ИСТ-05И:Ермаков М. В.Самара 2023Задание №1Рисунок 1 – Задание №1Открываем программу “Octave”Рисунок 2- Программа «Octave»Вводим команду A=imread('D:\Lab 5\girl_0_bw.tif'); Указываем путь до файла. Ожидаем чтения изображения.Рисунок 3 – Результат выполнения команды «imread»Рисунок 4 – Чтение изображенияОпределяем тип и класс загруженного изображения командой whosРисунок 5 – Результат выполнения команды «whos»Определили размер изображения, количество занятого пространства и класс изображения.Определили размер изображения по векторам [M,N,V].Рисунок 6 – Результат выполнения команды «size»Определили максимальное и минимальное значение яркости пикселей.Рисунок 7 – Результат выполнения команд «Imax/Imin»Накладываем на изображение текст с надписью Original и размерами изображения Рисунок 8 – Результат выполнения наложения текстаНакладываем на изображение надпись с минимальными и максимальными значениями яркостей пикселов с нанесением его на изображение.
Рисунок 9 – Результат выполнения наложения текстаСохраняем изображение с помощью команды и с помощью функции диалогового окна.Рисунок 10 – Результат сохранения через диалоговое менюРисунок 11 – Результат сохранения через команду «imwrite»Вывод по выполнению работы:Научились накладывать текст на изображение и минимальную и максимальную яркость изображения. Через диалоговое окно накладываются все надписи и все фильтры, а через команду только самое изображение.Задание №2Рисунок 12 -Задание №2Проделываем все те же команды, что и в первом задание, но выбираем второе изображение.В итоге получаем готовое изображение.Рисунок 12- Результат первой части второго задания.Преобразовываем всё в исполняемую функцию для автоматизации процесса.Рисунок 13 – Листинг функцииРисунок 14- результат выполнения функцииИзменяем код так, чтобы вырезать фрагмент определяя его размер и максимальное и минимальное значение яркости пикселейРисунок 15 – результат выполнения кодаРисунок 16 - Профиль яркостиРисунок 17 – Уменьшение размера согласно таблице
Рисунок 18 – Таблица всех рисунковРисунок 19 – Листинг программыВывод :Научились вырезать изображение, определяя минимум и максимум яркости изображения строить таблицы и графиков.Задание №3Рисунок 20 – Задание №3Для перевода изображения из RBG в черно-белый вариант используется команда rgb2gray.Рисунок 21 – Результат выполнения командыОпределяем тип и класс загруженного изображения.Рисунок 22 – Результат выполнения команды whosВырезать наиболее информативный участок изображения размером 7х7 пикселов и вывести матрицу этого фрагмента в командное окно. Выполнить анализ выведенной матрицы, соотнеся ее с классом исходного изображения.Рисунок 22 – Выводим матрицу данного участкаПереводим изображение в классы согласно заданию.Рисунок 23 – Результат выполнения командыВывод по выполненной лабораторной работе Научились переводить изображение в разные системы. Приложение АA=imread('D:\Lab 5\girl_0_bw.tif');[M,N,V]=size(A)whos A;imshow(A)title(['Original','M=',num2str(M),'N=',num2str(N)]);Imax=max(max(A))Imin=min(min(A))figure, imshow(A)title(['Gray Image','M=',num2str(M),'N=',num2str(N),'Imax=',num2str(Imax),'Imin=',num2str(Imin)])imwrite(A, 'zad5_1.jpg')%prof=A(30,:);%figure, plot(prof);Приложение БA=imread('D:\Lab 5\Foto_6_1.jpg');[M,N,V]=size(A);whos A;imshow(A);title(['Original','M=',num2str(M),'N=',num2str(N)]);A1=rgb2gray(A);Imax=max(max(A1));Imin=min(min(A1));imshow(A1)title(['Gray Image','M=',num2str(M),'N=',num2str(N),'Imax=',num2str(Imax),'Imin=',num2str(Imin)]);If=A1(80:180,80:180);[Mf,Nf]=size(If);Ifmax=max(max(If));Ifmin=min(min(If));imshow(If);title(['Fragment','M=',num2str(Mf),'N=',num2str(Nf),'Imax=',num2str(Ifmax),'Imin=',num2str(Ifmin)]);prof=If(60,:);figure, plot(prof),title('Profile Line');A2=A1(1:2:end,1:2:end);[MA2,NA2]=size(A2);figure,imshow(A2),title(['Redused','M=',num2str(MA2),'N=',num2str(NA2)]);figure;subplot(2,2,1),imshow(A1),title('Original');subplot(2,2,2),imshow(If),title('Fragment');subplot(2,2,3),plot(prof),title('Profile Line');
subplot(2,2,4),imshow(A2),title('Redused');Приложение Вf=imread ('D:\Lab 5\tit512.tif');whos fimshow(f);fc=f(218:224,251:257)title('Original');fbin=im2bw(f, 0.45);imshow(fbin);title('Binary');subplot(1, 2, 1), imshow(f);title('Original');subplot(1, 2, 2), imshow(fbin);title('Binary');
Рисунок 9 – Результат выполнения наложения текстаСохраняем изображение с помощью команды и с помощью функции диалогового окна.Рисунок 10 – Результат сохранения через диалоговое менюРисунок 11 – Результат сохранения через команду «imwrite»Вывод по выполнению работы:Научились накладывать текст на изображение и минимальную и максимальную яркость изображения. Через диалоговое окно накладываются все надписи и все фильтры, а через команду только самое изображение.Задание №2Рисунок 12 -Задание №2Проделываем все те же команды, что и в первом задание, но выбираем второе изображение.В итоге получаем готовое изображение.Рисунок 12- Результат первой части второго задания.Преобразовываем всё в исполняемую функцию для автоматизации процесса.Рисунок 13 – Листинг функцииРисунок 14- результат выполнения функцииИзменяем код так, чтобы вырезать фрагмент определяя его размер и максимальное и минимальное значение яркости пикселейРисунок 15 – результат выполнения кодаРисунок 16 - Профиль яркостиРисунок 17 – Уменьшение размера согласно таблице
Рисунок 18 – Таблица всех рисунковРисунок 19 – Листинг программыВывод :Научились вырезать изображение, определяя минимум и максимум яркости изображения строить таблицы и графиков.Задание №3Рисунок 20 – Задание №3Для перевода изображения из RBG в черно-белый вариант используется команда rgb2gray.Рисунок 21 – Результат выполнения командыОпределяем тип и класс загруженного изображения.Рисунок 22 – Результат выполнения команды whosВырезать наиболее информативный участок изображения размером 7х7 пикселов и вывести матрицу этого фрагмента в командное окно. Выполнить анализ выведенной матрицы, соотнеся ее с классом исходного изображения.Рисунок 22 – Выводим матрицу данного участкаПереводим изображение в классы согласно заданию.Рисунок 23 – Результат выполнения командыВывод по выполненной лабораторной работе Научились переводить изображение в разные системы. Приложение АA=imread('D:\Lab 5\girl_0_bw.tif');[M,N,V]=size(A)whos A;imshow(A)title(['Original','M=',num2str(M),'N=',num2str(N)]);Imax=max(max(A))Imin=min(min(A))figure, imshow(A)title(['Gray Image','M=',num2str(M),'N=',num2str(N),'Imax=',num2str(Imax),'Imin=',num2str(Imin)])imwrite(A, 'zad5_1.jpg')%prof=A(30,:);%figure, plot(prof);Приложение БA=imread('D:\Lab 5\Foto_6_1.jpg');[M,N,V]=size(A);whos A;imshow(A);title(['Original','M=',num2str(M),'N=',num2str(N)]);A1=rgb2gray(A);Imax=max(max(A1));Imin=min(min(A1));imshow(A1)title(['Gray Image','M=',num2str(M),'N=',num2str(N),'Imax=',num2str(Imax),'Imin=',num2str(Imin)]);If=A1(80:180,80:180);[Mf,Nf]=size(If);Ifmax=max(max(If));Ifmin=min(min(If));imshow(If);title(['Fragment','M=',num2str(Mf),'N=',num2str(Nf),'Imax=',num2str(Ifmax),'Imin=',num2str(Ifmin)]);prof=If(60,:);figure, plot(prof),title('Profile Line');A2=A1(1:2:end,1:2:end);[MA2,NA2]=size(A2);figure,imshow(A2),title(['Redused','M=',num2str(MA2),'N=',num2str(NA2)]);figure;subplot(2,2,1),imshow(A1),title('Original');subplot(2,2,2),imshow(If),title('Fragment');subplot(2,2,3),plot(prof),title('Profile Line');
subplot(2,2,4),imshow(A2),title('Redused');Приложение Вf=imread ('D:\Lab 5\tit512.tif');whos fimshow(f);fc=f(218:224,251:257)title('Original');fbin=im2bw(f, 0.45);imshow(fbin);title('Binary');subplot(1, 2, 1), imshow(f);title('Original');subplot(1, 2, 2), imshow(fbin);title('Binary');