В этом примере показано, как чертить различные формы на изображениях при помощи Средства импорта OpenCV.
Сначала импортируйте функцию OpenCV в Simulink® при помощи Установки и Использования Интерфейс Computer Vision Toolbox для OpenCV в Simulink. Мастер создает Библиотеку Simulink, которая содержит подсистему и блок C Caller для заданной функции OpenCV. Подсистема затем используется в предварительно сконфигурированной модели Simulink. Эта подсистема принимает координаты заданной формы. Заданная форма затем отображена на Video Viewer.
Вы учитесь как:
Импортируйте функцию OpenCV в Библиотеку Simulink.
Используйте блоки из сгенерированной библиотеки в модели Simulink.
Чтобы создать библиотеки OpenCV, идентифицируйте совместимый компилятор C++ для своей операционной системы, как описано в Портативной генерации кода C для Функций, Которые Пользуются Библиотекой OpenCV. Сконфигурируйте идентифицированный компилятор при помощи mex - устанавливают команду C++. Для получения дополнительной информации смотрите, Выбирают C ++ Compiler.
Эти модели Simulink доступны в DrawShapes
папка:
DrawAtom.slx
DrawEllipse.slx
DrawFilledCircle.slx
DrawLine.slx
DrawPolygon.slx
DrawRook.slx
Этот пример использует DrawFilledCircle.slx
модель. В этой модели, subsystem_slwrap_drawFilledCircle
подсистема находится в DrawCircle_Lib
библиотека. Вы создаете subsystem_slwrap_drawFilledCircle
подсистема при помощи Средства импорта OpenCV. Подсистема принимает x
и y
координаты для центра круга и радиуса, как введено к подсистеме. Подсистема создает круг на входном изображении от блока Image From File. Вывод затем отображен на блоке Video Viewer.
Получить доступ к пути к папке в качестве примера, в командной строке MATLAB®, введите:
OpenCVSimulinkExamples;
Каждая подпапка содержит все вспомогательные файлы, требуемые запускать пример.
Перед продолжением этих шагов гарантируйте, что вы копируете папку в качестве примера в перезаписываемое местоположение папки и изменяете вашу текущую рабочую папку в ...example\DrawShapes
. Все ваши выходные файлы сохранены в эту папку.
1. Чтобы запустить приложение Средства импорта OpenCV, нажмите Apps на Панели инструментов MATLAB. Мастер импорта OpenCV открывается к Странице приветствия. Задайте Название проекта как DrawCircle
. Убедитесь, что название проекта не содержит пробелов. Нажать Далее.
2. В Задают Библиотеку OpenCV, задают это расположение файлов, и затем нажимают Далее.
Корневая папка проекта: Задайте путь своей папки в качестве примера. Этот путь является путем к перезаписываемой папке проекта, где вы сохранили свои файлы в качестве примера. Все ваши выходные файлы сохранены в эту папку.
Исходные файлы: Задайте путь .cpp
файл расположен в вашей папке проекта как opencvcode.cpp
.
Включение файлов: Задайте путь .hpp
заголовочный файл расположен в вашей папке проекта как opencvcode.hpp
.
3. Анализируйте свою библиотеку, чтобы искать функции и типы для импорта. Если анализ завершен, нажать Далее. Выберите drawFilledCircle
функционируйте и нажмите Далее.
4. Из того, что импортировать, выберите I/O Type
для img
как InputOutput
, и другой arguements как Input
.Click Затем.
5. В Создают Библиотеку Simulink, проверяют значения по умолчанию типов OpenCV. По умолчанию Создайте один блок C-вызывающей-стороны для функции OpenCV, выбран, чтобы создать блок C Caller с подсистемой. Чтобы создать Библиотеку Simulink, нажать Далее.
Библиотека Simulink DrawCircle_Lib
создается из вашего кода OpenCV. Можно использовать любой из этих блоков для симуляции модели. В этом примере, подсистема subsystem_slwrap_drawFilledCircle
используется.
Использовать сгенерированную подсистему subsystem_slwrap_drawFilledCircle
с моделью Simulink DrawFilledCircle.slx
:
1. В вашей Текущей папке MATLAB щелкните правой кнопкой по модели DrawFilledCircle.slx
и нажмите Open из контекстного меню. Перетащите сгенерированную подсистему к модели и соедините подсистему с блоками MATLAB function.
2. Дважды кликните подсистему и проверьте значения параметров.
На Панели инструментов Simulink, во вкладке Simulation, нажимают, симулируют кнопку модели. После того, как симуляция завершена, блок Video Viewer отображается, заполненный круг на входе отображают peppers.png
.
В этом примере показано, как использовать блок C Caller в модели Simulink, чтобы чертить атом на изображении.
1. Импортируйте drawEllipse
и drawFilledCircle
OpenCV функционирует в Simulink при помощи Мастера Импорта OpenCV Кода. Во время импорта выберите I/O Type
для drawEllipse
и drawFilledCircle
, как показано в этой диаграмме.
2. Если вы импортируете функции, DrawCircle_Lib
библиотека создается. Эта Библиотека Simulink содержит подсистемы и блоки Вызывающей стороны C, требуемые чертить атом на изображении.
Откройте модель DrawAtomCcaller.slx
. Перетащите slwrap_drawEllipse
Блок C Caller из Библиотеки Simulink DrawCircle_Lib
к drawEllipses
подсистема в модели. Создайте три копии блока C Caller, и затем поместите эти блоки в четырех пустых положениях в drawEllipses
подсистема.
В модели перетащите slwrap_drawFilledCircle
Блок C Caller из Библиотеки Simulink DrawCircle_Lib
и поместите блок в пустом положении.
3. На Панели инструментов Simulink, во вкладке Simulation, нажимают, симулируют кнопку модели. После того, как симуляция завершена, блок Video Viewer отображает атом на белом входном изображении.