Добавил:
t.me Инфо для ГУАП студентов от меня: https://kafaka.notion.site/99e6d9b70ca74f7baef3daea17839e5a Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

KR / Z9411_КафкаРС_ММТ_КР

.pdf
Скачиваний:
0
Добавлен:
18.06.2024
Размер:
398.69 Кб
Скачать

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

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ

КАФЕДРА 41

ОЦЕНКА

 

 

 

 

ПРЕПОДАВАТЕЛЬ

 

 

 

 

 

доц., канд. техн. наук, доц.

 

 

 

О. О. Жаринов

 

должность, уч. степень, звание

 

подпись, дата

 

инициалы, фамилия

КОНТРОЛЬНАЯ РАБОТА

ОСНОВЫ ОБРАБОТКИ ВИДЕО В MATLAB

по дисциплине: Мультимедиа технологии

РАБОТУ ВЫПОЛНИЛ

 

 

 

 

 

СТУДЕНТ гр. №

Z9411

 

 

 

Р. С. Кафка

 

номер группы

подпись, дата

 

инициалы, фамилия

 

 

 

 

Студенческий билет №

2019/3603

 

 

 

 

 

 

 

 

 

Шифр ИНДО

Санкт-Петербург 2024

Цель работы: получить навыки обработки видео в среде MATLAB,

выполнив индивидуальное задание.

Краткие теоретические сведения о задачах обработки видео.

Видео-контент — ключевой элемент мультимедиа, представляющий собой последовательность быстро сменяющихся изображений, обычно с частотой 25-30 кадров в секунду. Основная цель обработки видео — модификация его свойств для улучшения качества или вставки дополнительной информации.

Задачи обработки видео

1.Коррекция изображений кадров: изменение контрастности,

яркости, насыщенности, баланса белого и исправление дефектов (размытие,

шумы и т.д.).

2.Встраивание графической информации: добавление логотипов,

изменение цветовых характеристик, создание спецэффектов.

Динамические изменения: настройки обработки могут изменяться от кадра к кадру для создания эффектов, таких как постепенное исчезновение цвета или изменение четкости.

Специфика Обработки

Перцептивное восприятие: изображения воспринимаются последовательно, что позволяет использовать временные изменения для динамических эффектов.

Компрессия: сжатие видео необходимо для уменьшения объема данных, используются различные кодеки и форматы (AVI, MPEG-4 и др.).

Программное обеспечение: MATLAB предоставляет функции для чтения, записи и обработки видео, но доступные возможности могут зависеть от кодеков, установленных в системе.

Примеры программной реализации

Базовая обработка: чтение, раскадровка и обратная сборка

видеофайлов.

2

Фильтрация: применение пространственных фильтров для улучшения четкости или сглаживания.

Изменение цветовой палитры: постепенное изменение цветовой палитры кадров, что может приводить к изменению видимых цветов и переходу к монохромному изображению.

Индивидуальный вариант

Вариант 8: получить от каждого кадра видео три матрицы цветовых компонентов (R, G и B), после чего, сдвинув матрицы R и B относительно матрицы G на заданное количество индексов влево и вправо, совместить в единый кадр, получив в итоге заметные цветные окантовки вокруг объектов,

сформировать выходное видео из таких кадров. При желании можно сделать параметр сдвига плавно изменяющимся от кадра к кадру.

Ход работы:

Для работы был использован видеофайл, полученный из видеоклипа

«Rick Astley - Never Gonna Give You Up (Official Music Video)». Видео было скачено и обрезано до первых 10 секунд.

Была написана программа, которая считывает видеофайл, разделяет каждый кадр на RGB компоненты, сдвигает красный (R) и синий (B) каналы относительно зеленого (G), и собирает обработанные кадры обратно в видеофайл с цветными окантовками вокруг объектов. Параметр сдвига изменяется плавно от начала до конца видео. Код представлен в листинге 1.

Листинг 1 – MATLAB программа для сдвига R и B матрицы относительно матрицы G

clc;

clear all; close all;

% Открываем исходный видеофайл input_file_name = 'input_video.mp4'; video_in = VideoReader(input_file_name);

3

%Создаем объект для записи видео output_file_name = 'output_video.mp4';

video_out = VideoWriter(output_file_name, 'MPEG-4'); open(video_out);

%Читаем свойства видео

width = video_in.Width; height = video_in.Height;

frameRate = video_in.FrameRate;

numOfFrames = round(video_in.Duration * frameRate);

%Подготовка структуры для обработанного видео mov = struct('cdata', [], 'colormap', []);

%Цикл по кадрам видео

for k = 1 : numOfFrames

% Чтение одного кадра

frame = readFrame(video_in);

%Разделение кадра на R, G, B компоненты

R = frame(:,:,1); G = frame(:,:,2); B = frame(:,:,3);

%Расчет сдвига для текущего кадра (плавное изменение) shiftR = round(sin(pi * (k-1) / (2*numOfFrames)) * 10); %

сдвиг влево для R

shiftB = round(cos(pi * (k-1) / (2*numOfFrames)) * 10); %

сдвиг вправо для B

% Сдвигаем компоненты R и B

R_shifted = circshift(R, [0 -shiftR]); B_shifted = circshift(B, [0 shiftB]);

% Собираем обратно в кадр

frame_shifted = cat(3, R_shifted, G, B_shifted);

%Записываем кадр в выходной файл видео writeVideo(video_out, frame_shifted);

%Сохраняем кадр для возможного воспроизведения в MATLAB mov(k).cdata = frame_shifted;

end

%Закрываем файл выходного видео close(video_out);

%Воспроизведение видео в MATLAB hf = figure;

set(hf, 'position', [150 150 width height]); movie(hf, mov, 1, frameRate);

4

Описание кода:

1.Инициализация и чтение видео: открытие исходного видеофайла для чтения и подготовка файла для вывода обработанного видео.

2.Обработка каждого кадра:

Кадр разделяется на красный, зеленый и синий компоненты.

Сдвиг красного и синего каналов вычисляется с использованием функций sin и cos для плавного изменения от начала до конца видео.

Максимальный сдвиг составляет 10 пикселей.

Компоненты снова объединяются в один кадр с модифицированными красным и синим каналами.

3.Запись и воспроизведение: Обработанный кадр записывается обратно в выходной видеофайл, который затем может быть воспроизведен в

MATLAB.

После выполнения этого скрипта был получен видеофайл output_video.mp4, в котором окантовки объектов были заметно выделены благодаря сдвигу цветовых каналов. Эффект сдвига цвета создает визуально привлекательные границы, что может быть использовано в творческих и технических приложениях.

Изображения скриншотов исходного и полученного видео,

подтверждающие корректность решения поставленной задачи, представлены на рисунках 1-2. Также видео были загружены в облако.

Ссылка на исходное видео: https://disk.yandex.ru/i/RaJwHaGVADmKZA

Ссылка на обработанное видео: https://disk.yandex.ru/i/2mq9ldxfP2rjOg

5

Рисунок 1 – Скриншот исходного видео

Рисунок 2 – Скриншот полученного видео

6

ВЫВОД

В результате выполнения лабораторной работы были получены навыки обработки видео в среде MATLAB.

MATLAB предоставляет удобные инструменты для чтения и записи видеофайлов через объекты VideoReader и VideoWriter. Эти объекты позволяют легко манипулировать видеоданными на уровне кадров, что особенно полезно для задач обработки видео, где требуется покадровая обработка.

Изучение процесса разделения видеокадров на цветовые компоненты (R, G, и B) и последующая их обработка дали понять, как цветовая информация представлена в цифровом видео. Практика сдвига отдельных каналов и их рекомбинация позволила глубже понять влияние каждого цветового канала на общее визуальное восприятие изображения.

Применение плавно изменяющегося сдвига к красным и синим каналам от начала к концу видео продемонстрировало возможности создания динамических визуальных эффектов. Эта техника может быть использована для создания визуальных акцентов или для улучшения эстетической привлекательности видеоматериалов.

Полученное видео демонстрирует заметные цветные окантовки вокруг объектов, что создает уникальный визуальный стиль. Этот эффект может найти применение в музыкальных клипах, рекламе и других медиапродуктах,

где требуется нестандартное и запоминающееся визуальное оформление.

Работа над этим заданием позволила не только углубить технические навыки работы с видео и изображениями в MATLAB, но и расширила понимание потенциала программных средств в создании и модификации визуального контента.

7

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

1.Работа с видео в Matlab. 2010. // URL: https://habr.com/ru/post/97145/ (дата обращения: 11.04.2024)

2.MathWorks. Help Center: VideoReader. Create object to read video files. // URL: https://www.mathworks.com/help/matlab/ref/videoreader.html (дата обращения: 11.04.2024)

3.Обработка изображений в системе MATLAB. / сост. Батура В.А., Тропченко А.Ю., Тропченко А.А. СПб: Университет ИТМО, 2019. 41 с.

4.Дьяконов В. MATLAB 8.0 (R2012b): создание, обработка и фильтрация сигналов, Signal Processing Toolbox. // Компоненты и технологии, 2013. №11, с. 151-161.

5.Работа с изображениями в среде Matlab. // URL: https://studbooks.net/2140144/informatika/rabota_izobrazheniyami_srede_ matlab (дата обращения: 11.04.2024)

6.Список функций Image Processing Toolbox // URL: https://hub.exponenta.ru/post/spisok-funktsiy-image-processing- toolbox152?ysclid=l8vjnq87jn578408698 (дата обращения: 11.04.2024)

7.Улучшение качества растровых изображений: Учеб. пособие. / Н.В.Соловьев, А.М.Сергеев. СПб: СПбГУ ИТМО, 2010. 158 с.

8.Мультимедиатехнологии в информационных системах. Представление и обработка изображений в компьютере: учеб. пособие/

Н.Н.Красильников, О.И.Красильникова. ГУАП. СПб, 2007. 132 с.

9. Цифровая обработка изображений / Рафаэл С. Гонсалес, Ричард Е. Вудс; пер. с англ. Изд. 3-е, испр. и доп. – М.: Техносфера (М.: Типография "Наука" РАН), 2012. 1103 с.

10.Технологии проектирования интерактивных графических приложений: учеб. пособие / А.В. Аграновский, В.В. Боженко, В.С. Павлов, E.Л. Турнецкая, В.А. Тюринова - СПб: ГУАП, 2021. 129 с.

11.Основы цифровой обработки изображений: учеб. пособие / Жаринов О.О. ГУАП. СПб, 2023. 122 с.

8

12.Rick Astley - Never Gonna Give You Up (Official Music Video) – YouTube // URL: https://www.youtube.com/watch?v=dQw4w9WgXcQ (дата обращения: 11.04.2024)

9

Соседние файлы в папке KR