В этом примере показано, как использовать видео-мультфильм для улучшения цветов записанного видео с помощью OpenCV Importer. Мультфильм изменяет цвета в видео, используя такие параметры, как maskRadius
, threshold
, и ramp
.
Сначала импортируйте функцию OpenCV в Simulink ® с помощью интерфейса Install and Use Computer Vision Toolbox для OpenCV в Simulink. Мастер создает библиотеку Simulink, содержащую подсистему и блок C Caller для указанной функции OpenCV. Подсистема затем используется в предварительно сконфигурированной модели Simulink, чтобы принять записанное видео. Мультфильм работает по maskRadius
, threshold
, и ramp
значение. Можно изменить maskRadius
, threshold
, и ramp
значения с использованием компонента ползунка, доступного в модели.
Вы узнаете, как:
Импортируйте функцию OpenCV в библиотеку Simulink.
Используйте блоки из сгенерированной библиотеки в модели Simulink.
Чтобы создать библиотеки OpenCV, определите совместимый компилятор C++ для вашей операционной системы, как описано в Portable C Code Generation для функций, которые используют библиотеку OpenCV. Сконфигурируйте идентифицированный компилятор с помощью команды mex -setup c++. Для получения дополнительной информации смотрите Выбор компилятора C++.
В этом примере видеоаппарат реализован с помощью модели Simulink Cartoonizer.slx
.
В этой модели subsystem_slwrap_cartoonize
подсистема находится в Cartoonizer_Lib library
. Вы создаете subsystem_slwrap_cartoonize
подсистема при помощи OpenCV Importer. Подсистема принимает видео из блока From Multimedia File, maskRadius
, threshold
, и ramp
значение для карикатуры на видео. Выход отображается с помощью блока Video Viewer. В subsystem_slwrap_cartoonize
подсистема, inImage
является вход изображением, maskRadius
- размер фильтра изображений для сравнения интенсивности, threshold
- это пороговое различие интенсивности между пикселями, которая приводит к затемнению видео, ramp
- градиент интенсивности в выходном изображении и outImage
- выходное изображение. Ползунки maskRadius
, threshold
, и ramp
используется для изменения значения во время симуляции.
Для доступа к пути к папке с примером в командной строке MATLAB ® введите:
OpenCVSimulinkExamples;
Каждая подпапка содержит все вспомогательные файлы, необходимые для запуска примера.
Прежде чем продолжить эти шаги, убедитесь, что вы копируете пример папку в папку с возможностью записи и измените текущую рабочую папку на ...example\Cartoonizer
. Все ваши выходные файлы сохраняются в этой папке.
1. Чтобы запустить приложение OpenCV Importer, нажмите приложения на панели инструментов MATLAB. На странице приветствия укажите имя проекта следующим Cartoonizer
. Убедитесь, что имя проекта не содержит пространств. Нажмите кнопку Далее.
2. В разделе «Задать библиотеку OpenCV» укажите эти расположения файлов и нажмите кнопку Далее.
Проецируйте корневую папку: Укажите путь к вашей папке примера. Этот путь является путем к папке проекта с возможностью записи, где вы сохранили свои файлы примера. Все ваши выходные файлы сохраняются в этой папке.
Исходные файлы: Укажите путь к .cpp
файл, расположенный в папке проекта как cartoonizer.cpp
.
Включить файлы: Укажите путь к .hpp
файл заголовка, расположенный в папке проекта следующим cartoonizer.hpp
.
3. Проанализируйте библиотеку, чтобы найти функции и типы для импорта. После завершения анализа нажмите кнопку Далее. Выберите cartoonize
и нажмите кнопку Далее.
4. Из списка «Что импортировать» выберите I/O Type
для inImage
, maskRadius
, threshold
, и ramp
как Input
, outImg
как выход, а затем нажмите кнопку Далее.
5. В разделе «Создание библиотеки Simulink» проверьте значения по умолчанию и нажмите кнопку «Далее».
A Библиотеки Simulink cartoonize_Lib
создается из кода OpenCV в корневую папку проекта. Библиотека содержит подсистему и блок C Caller. Можно использовать любой из этих блоков для симуляции модели. В этом примере подсистема subsystem_slwrap_cartoonize
используется.
Чтобы использовать сгенерированную подсистему subsystem_slwrap_cartoonize
с моделью Simulink smileDetect.slx
:
1. В текущей папке MATLAB щелкните правой кнопкой мыши модель Cartoonizer.slx
и нажмите Open
из контекстного меню. В модели удалите существующее subsystem_slwrap_cartoonize
и перетащите сгенерированную подсистему subsystem_slwrap_cartoonize
от cartoonize_Lib
библиотеку в модель. Подключите подсистему к блоку MATLAB Function.
2. Дважды кликните подсистему и задайте эти значения параметров.
3. Нажмите кнопку Применить, а затем кнопку ОК.
На панели инструментов Simulink, на вкладке Simulation, нажмите на кнопку simulate модели. После завершения симуляции блок Video Viewer отображает видео с улучшением цвета на основе значения maskRadius
, threshold
, и ramp
.