В этом примере показано, как обнаружить тени в записанном видео при помощи Средства импорта OpenCV.
Сначала импортируйте функцию OpenCV в Simulink® при помощи Установки и Использования Интерфейс Computer Vision Toolbox для OpenCV в Simulink. Мастер создает Библиотеку Simulink, которая содержит подсистему и блок C Caller для заданной функции OpenCV. Подсистема затем используется в предварительно сконфигурированной модели Simulink, чтобы принять записанное видео и пороговое значение для теневого обнаружения. Теневое обнаружение работает на пороговое значение. Пороговое значение может быть изменено с помощью компонента ползунка, доступного в модели.
Вы учитесь как:
Импортируйте функцию OpenCV в Библиотеку Simulink.
Используйте блоки из сгенерированной библиотеки в модели Simulink.
Чтобы создать библиотеки OpenCV, идентифицируйте совместимый компилятор C++ для своей операционной системы, как описано в Портативной генерации кода C для Функций, Которые Пользуются Библиотекой OpenCV. Сконфигурируйте идентифицированный компилятор при помощи mex - устанавливают команду C++. Для получения дополнительной информации смотрите, Выбирают C ++ Compiler.
В этом примере теневой детектор реализован при помощи модели Simulink ShadowDetection.slx
.
В этой модели, subsystem_slwrap_run_shadow_detection
подсистема находится в Shadow_Detection_Lib library
. Вы создаете subsystem_slwrap_run_shadow_detection
подсистема при помощи Средства импорта OpenCV. Подсистема принимает, что видео от блока From Multimedia File и порогового значения обнаруживает тень в видео. Вывод отображен с помощью блока Video Viewer. В subsystem_slwrap_run_shadow_detection
подсистема, inImage
входное изображение, thresh
порог алгоритма и outImage
выходное изображение. Пороговый ползунок используется, чтобы изменить пороговое значение во время симуляции.
Получить доступ к пути к папке в качестве примера, в командной строке MATLAB®, введите:
OpenCVSimulinkExamples;
Каждая подпапка содержит все вспомогательные файлы, требуемые запускать пример.
Перед продолжением этих шагов гарантируйте, что вы копируете папку в качестве примера в перезаписываемое местоположение папки и изменяете вашу текущую рабочую папку в ...example\ShadowDetection
. Все ваши выходные файлы сохранены в эту папку.
1. Чтобы запустить приложение Средства импорта OpenCV, нажмите Apps на Панели инструментов MATLAB. В Странице приветствия задайте Название проекта как Shadow_Detection
. Убедитесь, что название проекта не содержит пробелов. Нажать Далее.
2. В Задают Библиотеку OpenCV, задают это расположение файлов, и затем нажимают Далее.
Корневая папка проекта: Задайте путь своей папки в качестве примера. Этот путь является путем к перезаписываемой папке проекта, где вы сохранили свои файлы в качестве примера. Все ваши выходные файлы сохранены в эту папку.
Исходные файлы: Задайте путь .cpp
файл расположен в вашей папке проекта как shadow_detection.cpp
.
Включение файлов: Задайте путь .hpp
заголовочный файл расположен в вашей папке проекта как shadow_detection.hpp
.
3. Анализируйте свою библиотеку, чтобы искать функции и типы для импорта. Если анализ завершен, нажать Далее. Выберите run_shadow_detection
функционируйте и нажмите Далее.
4. Из того, что импортировать, выберите I/O Type
для inImage
и thresh
как Input
, outImage
как Выход и затем нажимают Далее.
5. В Создают Библиотеку Simulink, проверяют значения по умолчанию и нажимают Далее.
Библиотека Simulink Shadow_Detection_Lib
создается из вашего кода OpenCV в корневую папку проекта. Библиотека содержит подсистему и блок C Caller. Можно использовать любой из этих блоков для симуляции модели. В этом примере, подсистема subsystem_slwrap_run_shadow_detection
используется.
Использовать сгенерированную подсистему subsystem_slwrap_run_shadow_detection
с моделью Simulink ShadowDetection.slx
:
1. В вашей Текущей папке MATLAB щелкните правой кнопкой по модели ShadowDetection.slx
и нажмите Open
из контекстного меню. Перетащите сгенерированную подсистему subsystem_slwrap_detectAndDraw
к модели. Соедините подсистему с блоком MATLAB function.
2. Дважды кликните подсистему и задайте эти значения параметров.
3. Нажмите Apply, и затем нажмите ОК.
На панели инструментов Simulink, во вкладке Simulation, нажимают, симулируют модель. После того, как симуляция завершена, блок Video Viewer отображает видео с тенями, отмеченными красной схемой в зависимости от порогового значения. Для отображенного видео в качестве примера пороговое значение установлено в 0.0651
.