Файл: Простые операции с изображениями.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 22.11.2023

Просмотров: 46

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«ПОВОЛЖСКИЙ ГОСДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ»
Кафедра информационных систем и технологий
Лабораторная работа № 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');