ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.11.2023
Просмотров: 60
Скачиваний: 6
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«ПОВОЛЖСКИЙ ГОСДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ»
Кафедра информационных систем и технологий
Лабораторная работа № 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 f
imshow(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');