В этом примере показано, как создать детектор транспортных средств и пешеходов с помощью OpenCV Importer. Модель размещает зеленый и красный контур на транспортном средстве и пешеходах при обнаружении в записанном видео.
Сначала импортируйте функцию OpenCV в Simulink ® с помощью интерфейса Install and Use Computer Vision Toolbox Interface for OpenCV в Simulink. Мастер создает библиотеку Simulink, содержащую подсистему и блок Caller C для указанной функции OpenCV. Подсистема затем используется в предварительно сконфигурированной модели Simulink, чтобы принять записанное видео для обнаружения транспортного средства и пешехода.
Вы научитесь:
Импорт функции OpenCV в библиотеку Simulink.
Используйте блоки из созданной библиотеки в модели Simulink.
Чтобы создать библиотеки OpenCV, определите совместимый компилятор C++ для вашей операционной системы, как описано в документе Portable C Code Generation for Functions That Use OpenCV Library. Настройте указанный компилятор с помощью команды mex -setup c++. Дополнительные сведения см. в разделе Выбор компилятора C++.
В этом примере детектор автомобиля и пешехода реализован с использованием модели Simulink vehicle.slx.
В этой модели subsystem_slwrap_drawDetect подсистема находится в Vehicle_Pedestrian_Detector_Lib библиотека. Вы создаете subsystem_slwrap_drawDetect с помощью OpenCV Importer. Подсистема принимает видео из блока From Multimedia File.

Для доступа к пути к папке примера в командной строке MATLAB ® введите:
OpenCVSimulinkExamples;
Каждая подпапка содержит все вспомогательные файлы, необходимые для выполнения примера.
Прежде чем выполнять эти действия, скопируйте папку примера в папку с возможностью записи и измените текущую рабочую папку на ...example\VehiclePedDetector. Все выходные файлы сохраняются в этой папке.
1. Чтобы запустить приложение OpenCV Importer, щелкните Приложения на панели инструментов MATLAB. На странице приветствия укажите имя проекта как Vehicle_Pedestrian_Detector. Убедитесь, что имя проекта не содержит пробелов. Нажмите кнопку Далее.
2. В разделе «Укажите библиотеку OpenCV» укажите эти расположения файлов и нажмите кнопку «Далее».
Корневая папка проекта: укажите путь к папке примера. Этот путь является путем к папке проекта с возможностью записи, в которой были сохранены файлы примеров. Все выходные файлы сохраняются в этой папке.
Исходные файлы: Укажите путь к .cpp файл, расположенный в папке проекта как vehiclePedestrianDetector.cpp.
Включить файлы: Укажите путь к .hpp верхний колонтитул, расположенный в папке проекта как vehiclePedestrianDetector.hpp.
3. Проанализируйте библиотеку, чтобы найти функции и типы для импорта. После завершения анализа нажмите кнопку Далее (Next). Выберите drawdetect и нажмите кнопку Далее.
4. В поле «Что импортировать» выберите I/O Type для img как Input, out как Output и нажмите кнопку Далее.
5. В окне «Создание библиотеки Simulink» проверьте значения по умолчанию для типов OpenCV. По умолчанию для создания блока вызывающего абонента C с подсистемой выбирается параметр «Создать один блок вызывающего абонента C» для функции OpenCV. Чтобы создать библиотеку Simulink, нажмите кнопку «Далее».
Библиотека Simulink Vehicle_Pedestrian_Detector_Lib создается из кода OpenCV в корневую папку проекта. Любой из этих блоков можно использовать для моделирования модели. В этом примере подсистема subsystem_slwrap_drawDetect используется.
Использование сгенерированной подсистемы subsystem_slwrap_drawDetect с моделью Simulink:
1. В текущей папке MATLAB щелкните правой кнопкой мыши модель и выберите Open в контекстном меню. Перетащите созданную подсистему в модель. Подключите подсистему к функциональному блоку MATLAB.
2. Дважды щелкните подсистему и проверьте значения параметров.

3. Нажмите кнопку Применить, а затем кнопку ОК.
На панели инструментов Simulink на вкладке Simulation (Моделирование) щелкните на значке моделирования модели. После завершения моделирования блок Video Viewer отображает видео транспортного средства и пешеходов, обнаруженных при вводе видео.
