Видеокассета при помощи кода OpenCV в Simulink

В этом примере показано, как использовать видео-мультфильм для улучшения цветов записанного видео с помощью 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.

Настройте компилятор C++

Чтобы создать библиотеки 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 для создания библиотеки Simulink

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 используется.

Шаг 2: Используйте сгенерированную подсистему в модели Simulink

Чтобы использовать сгенерированную подсистему subsystem_slwrap_cartoonize с моделью Simulink smileDetect.slx:

1. В текущей папке MATLAB щелкните правой кнопкой мыши модель Cartoonizer.slx и нажмите Open из контекстного меню. В модели удалите существующее subsystem_slwrap_cartoonize и перетащите сгенерированную подсистему subsystem_slwrap_cartoonize от cartoonize_Lib библиотеку в модель. Подключите подсистему к блоку MATLAB Function.

2. Дважды кликните подсистему и задайте эти значения параметров.

3. Нажмите кнопку Применить, а затем кнопку ОК.

Шаг 3: Симулируйте мультфильм

На панели инструментов Simulink, на вкладке Simulation, нажмите на кнопку simulate модели. После завершения симуляции блок Video Viewer отображает видео с улучшением цвета на основе значения maskRadius, threshold, и ramp.

См. также

|

Похожие темы