
Z9411_Чурилов_ММ_КР
.docxМИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА № 41
ЛАБОРАТОРНАЯ РАБОТА
ЗАЩИЩЕНА С ОЦЕНКОЙ
РУКОВОДИТЕЛЬ
доц., канд. техн. наук, доц. |
|
|
|
О. О. Жаринов |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЁТ О КОНТРОЛЬНОЙ РАБОТЕ |
Основы обработки видео в MATLAB |
по курсу: Мультимедиа технологии |
|
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
Z9411 |
|
|
|
А. С. Чурилов |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург
2024
Цель работы
Получить навыки обработки видео в среде MATLAB, выполнив индивидуальное задание.
Вариант:
Вариант |
Задание |
19 |
Применить к каждому кадру видео функцию adapthisteq(...) из библиотеки Matlab, плавно изменяя значение параметра 'ClipLimit' от 0.01 в начале видео до 0.5 к концу видео. |
Ход работы:
Функция adapthisteq используется для улучшения контраста изображения путем адаптивной гистограммной эквализации, она полезна во всех ситуациях, где требуется улучшение контраста изображения с сохранением его локальных особенностей. Особенно чётко это видно на примере чёрно-белых видео, потому что при применении её к цветным видео можно столкнуться с проблемой, связаной с тем, что мы применяем adapthisteq к каждому каналу RGB независимо. В результате изображение может потерять естественные цветовые характеристики и выглядеть менее качественным.
В связи с этим для работы было добавлена функция, которая превращает цветные видео в чёрно-белые.
Напишем программу, которая будет применять функцию adapthisteq(...) из библиотеки Matlab, плавно изменяя значение параметра 'ClipLimit' от 0.01 в начале видео до 0.5 к концу видео. Код программы приведён в листинге 1.
Листинг 1 – Применение функции adapthisteq
clc, clear all, close all input_file_name = '3028395-uhd_3840_2160_24fps.mp4'; output_file_name = 'example_var_f.mp4'; video_in = VideoReader(input_file_name); video_out = VideoWriter(output_file_name, 'MPEG-4'); open(video_out); width = video_in.Width; height = video_in.Height; frameRate = video_in.FrameRate; numOfFrames = video_in.NumFrames; startClipLimit = 0.01; endClipLimit = 0.5; for k = 1 : numOfFrames image_k_in = read(video_in, k); if size(image_k_in, 3) == 3 % Проверка, является ли изображение цветным image_k_in_gray = rgb2gray(image_k_in); % Преобразование в градации серого else image_k_in_gray = image_k_in; % Если изображение уже в градациях серого end progress = (k-1)/(numOfFrames-1); % Прогресс clipLimit = startClipLimit + progress*(endClipLimit - startClipLimit); % Изменение параметра clipLimit image_k_out = adapthisteq(image_k_in_gray, 'ClipLimit', clipLimit); writeVideo(video_out, im2uint8(image_k_out)); % Запись кадра в видео файл end close(video_out);
|
Кадр исходного видео показан на рисунке 1.
Рисунок 1. Кадр исходного видео
Кадр изменённого видео показан на рисунке 2.
Рисунок 2. Кадр изменённого видео
Как видно из рисунков 1 и 2 на видео, которое мы обрабатываем с помощью функции adapthisteq, мы видим улучшение контраста и видимых деталей. Каждый кадр видео подвергся адаптивной гистограммной эквализации, что привело к более равномерному распределению яркости и улучшению контраста в различных частях кадра.
Плавное изменение параметра ClipLimit с начального значения 0.01 до конечного значения 0.5 привело к постепенному увеличению контраста во времени. В начале видео контраст будет низким, а по мере продвижения к концу видео контраст увеличивается.
В результате видео с более четкими деталями и лучшим контрастом, хотя про увеличение качества видео тут говорить не стоит.
Вывод
В процессе выполнения лабораторной работы я ознакомился с основными функциями MATLAB, применяемыми в обработке видеоизображений. Это позволило мне понять, как использовать MATLAB для решения задач обработки видео, включая изменение яркости, контраста и других характеристик изображений.
В ходе работы я применил к каждому кадру видео функцию adapthisteq(...) из библиотеки Matlab, плавно изменяя значение параметра 'ClipLimit' от 0.01 в начале видео до 0.5 к концу видео.
Изучение и применение функций MATLAB в обработке видеоизображений было интересным и полезным опытом, который может быть применен в различных областях, включая компьютерное зрение, анализ движения, создание спецэффектов и др.
Список использованных источников
1. Работа с видео в Matlab. 2010. // URL: https://habr.com/ru/post/97145/
2. MathWorks. Help Center: VideoReader. Create object to read video files. // URL: https://www.mathworks.com/help/matlab/ref/videoreader.html
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
6. Список функций Image Processing Toolbox // URL: https://hub.exponenta.ru/post/spisok-funktsiy-image-processingtoolbox152?ysclid=l8vjnq87jn578408698
7. Улучшение качества растровых изображений: Учеб. пособие. / Н.В.Соловьев, А.М.Сергеев. СПб: СПбГУ ИТМО, 2010. 158 с.
8. Мультимедиатехнологии в информационных системах. Представление и обработка изображений в компьютере: учеб. пособие/ Н.Н.Красильников, О.И.Красильникова. ГУАП. СПб, 2007. 132 с.
9. Цифровая обработка изображений / Рафаэл С. Гонсалес, Ричард Е. Вудс; пер. с англ. Изд. 3-е, испр. и доп. – М.: Техносфера (М.: Типография "Наука" РАН), 2012. 1103 с.
10.Технологии проектирования интерактивных графических приложений: учеб. пособие / А.В. Аграновский, В.В. Боженко, В.С. Павлов, E.Л. Турнецкая, В.А. Тюринова - СПб: ГУАП, 2021. 129 с.
11.Основы цифровой обработки изображений: учеб. пособие / Жаринов О.О. ГУАП. СПб, 2023. 122 с.