В этом примере показано, как чертить различные формы на изображениях.
Сначала импортируйте функцию OpenCV в Simulink® при помощи Мастера Импорта OpenCV Кода. Мастер создает Библиотеку Simulink, которая содержит подсистему и блок C Caller для заданной функции OpenCV. Подсистема затем используется в предварительно сконфигурированной модели Simulink. Эта подсистема принимает координаты заданной формы. Заданная форма затем отображена на Video Viewer.
Вы учитесь как:
Импортируйте функцию OpenCV в Библиотеку Simulink.
Используйте блоки из сгенерированной библиотеки в модели Simulink.
Интерфейс Computer Vision Toolbox™ OpenCV для Simulink
Computer Vision Toolbox
Чтобы создать библиотеки OpenCV, идентифицируйте совместимый компилятор C++ для своей операционной системы, как описано в Компиляторе, Используемом, чтобы Создать Библиотеки OpenCV. Сконфигурируйте идентифицированный компилятор при помощи mex -setup 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 Importer. Подсистема принимает x
и y
координаты для центра круга и радиуса, как введено к подсистеме. Подсистема создает круг на входном изображении от блока Image From File. Вывод затем отображен на блоке Video Viewer.
Папка в качестве примера расположена в matlab\toolbox\simulink\supportpackages\simulinkopencv\example
. Каждая подпапка содержит все вспомогательные файлы, требуемые запускать пример.
Перед продолжением этих шагов гарантируйте, что вы копируете папку в качестве примера в перезаписываемое местоположение папки и изменяете вашу текущую рабочую папку в example\DrawShapes
. Все ваши выходные файлы сохранены в эту папку.
Чтобы запустить приложение OpenCV Importer, нажмите Apps на MATLAB® Toolstrip. Мастер импорта OpenCV открывается к Странице приветствия. Задайте Project name как DrawCircle
. Убедитесь, что название проекта не содержит пробелов. Нажмите Next.
В Задают Библиотеку OpenCV, задают это расположение файлов, и затем нажимают Next.
Project root folder: Задайте путь своей папки в качестве примера. Этот путь является путем к перезаписываемой папке проекта, где вы сохранили свои файлы в качестве примера. Все ваши выходные файлы сохранены в эту папку.
Source files: Задайте путь .cpp
файл расположен в вашей папке проекта как opencvcode.cpp
.
Включение файлов: Задайте путь .hpp
заголовочный файл расположен в вашей папке проекта как opencvcode.hpp
.
Анализируйте свою библиотеку, чтобы искать функции и типы для импорта. Если анализ завершен, нажмите Next. От перечисленных функций выберите drawFilledCircle
функционируйте и нажмите Next.
Из того, что импортировать, выберите I/O Type for img
как InputOutput
и другие аргументы как Input
. Нажмите Next.
В Создают Библиотеку Simulink, проверяют значения по умолчанию типов OpenCV. По умолчанию Create a single C-caller block for the OpenCV function выбран, чтобы создать блок C Caller с подсистемой. Чтобы создать Библиотеку Simulink, нажмите Next.
Библиотека Simulink DrawCircle_Lib
создается из вашего кода OpenCV. Можно использовать любой из этих блоков для симуляции модели. В этом примере, подсистема subsystem_slwrap_drawFilledCircle
используется.
Использовать сгенерированную подсистему subsystem_slwrap_drawFilledCircle
с моделью Simulink DrawFilledCircle.slx
:
В вашем Current Folder MATLAB щелкните правой кнопкой по модели DrawFilledCircle.slx
и нажмите Open
из контекстного меню. Перетащите сгенерированную подсистему к модели и соедините блоки.
Дважды кликните подсистему и проверьте значения параметров.
На Панели инструментов Simulink, во вкладке Simulation, нажатие кнопки, чтобы симулировать модель. После того, как симуляция завершена, блок Video Viewer отображается, заполненный круг на входе отображают peppers.png
.
В этом примере показано, как использовать блок C Caller в модели Simulink, чтобы чертить атом на изображении.
Импортируйте drawEllipse
и drawFilledCircle
OpenCV функционирует в Simulink при помощи Мастера Импорта OpenCV Кода. Во время импорта выберите I/O Type for drawEllipse
и drawFilledCircle
, как показано в этой диаграмме.
Если вы импортируете функции, DrawCircle_Lib
библиотека создается. Эта Библиотека Simulink содержит подсистемы и блоки Вызывающей стороны C, требуемые чертить атом на изображении.
Откройте модель DrawAtomCcaller.slx
. Перетащите slwrap_drawEllipse
Блок C Caller из Библиотеки Simulink DrawCircle_Lib
к drawEllipses
подсистема в модели. Создайте три копии блока C Caller, и затем поместите эти блоки в четырех пустых положениях в drawEllipses
подсистема.
В модели перетащите slwrap_drawFilledCircle
Блок C Caller из Библиотеки Simulink DrawCircle_Lib
и поместите блок в пустом положении.
На Панели инструментов Simulink, во вкладке Simulation, нажатие кнопки, чтобы симулировать модель. После того, как симуляция завершена, блок Video Viewer отображает атом на белом входном изображении.