主要内容

在Simulink中使用OpenCV代码绘制不同形状金宝app

这个例子展示了如何使用OpenCV进口国

首先将OpenCV函数导入Simulink®中金宝app在Simulink中安装和使用OpenCV的计算机视觉工具箱接口金宝app.该向导创建了一个Simulink库,其中包金宝app含了一个子系统和一个用于指定OpenCV函数的C Caller块。然后在预配置的Simulink模型中使用该子系统。金宝app这个子系统接受指定形状的坐标。然后在视频查看器中显示已定义的形状。

你学习如何:

  • 导入OpenCV函数到Simulink库中。金宝app

  • 在Simulink模型中使用生成库中的块。金宝app

建立你的c++编译器

要构建OpenCV库,请为您的操作系统识别一个兼容的c++编译器,如使用OpenCV库的函数的可移植C代码生成.使用mex -setup c++命令配置指定的编译器。有关更多信息,请参见选择一个c++编译器

模型描述

这些Simu金宝applink模型在DrawShapes文件夹:

  • DrawAtom.slx

  • DrawEllipse.slx

  • DrawFilledCircle.slx

  • DrawLine.slx

  • DrawPolygon.slx

  • DrawRook.slx

本示例使用DrawFilledCircle.slx模型。在这个模型中subsystem_slwrap_drawFilledCircle子系统驻留在DrawCircle_Lib图书馆。您将创建subsystem_slwrap_drawFilledCircle通过使用OpenCV进口国.子系统接受xy圆心坐标和作为子系统输入的半径。子系统从image from File块在输入图像上创建一个圆圈。然后输出显示在Video Viewer块上。

复制示例文件夹到可写位置

要访问示例文件夹的路径,在MATLAB®命令行,输入:

OpenCV金宝appSimulinkExamples;

每个子文件夹包含运行示例所需的所有支持文件。金宝app

在继续执行这些步骤之前,请确保将示例文件夹复制到可写文件夹位置,并将当前工作文件夹更改为…\ DrawShapes例子.所有的输出文件都保存在这个文件夹中。

步骤1:导入OpenCV函数创建Simulink库金宝app

1.开始OpenCV进口国应用程序,点击应用程序基于MATLAB Toolstrip。OpenCV导入向导将打开一个欢迎页面。指定项目名称作为DrawCircle.确保项目名称不包含任何空格。点击下一个

2.在指定OpenCV库中,指定这些文件位置,然后单击下一个

  • 项目的根文件夹:指定示例文件夹的路径。此路径是存放示例文件的可写项目文件夹的路径。所有的输出文件都保存在这个文件夹中。

  • 源文件:指定路径. cpp文件位于您的项目文件夹中的opencvcode.cpp

  • 包含文件:指定路径. hpp位于项目文件夹中的头文件为opencvcode.hpp

3.分析库以找到要导入的函数和类型。分析完成后,单击下一个.选择drawFilledCircle功能和点击下一个

4.从要导入的内容中选择I / O型img作为输入输出,以及其他的争论输入.Click下一个

5.在创建Simulin金宝appk库中,验证OpenCV类型的默认值。默认情况下,为OpenCV函数创建一个c调用程序块,以使用子系统创建C Caller块。要创建Simulink库金宝app,单击下一个

一个金宝app模型库DrawCircle_Lib是由OpenCV代码创建的。您可以使用任何这些块进行模型模拟。在本例中,子系统subsystem_slwrap_drawFilledCircle使用。

步骤2:在Simulink模型中使用生成子系统金宝app

使用生成的子系统subsystem_slwrap_drawFilledCircle使用Simulin金宝appk模型DrawFilledCircle.slx

1.MATLAB中当前文件夹,右键单击模型DrawFilledCircle.slx并从上下文菜单单击Open。将生成的子系统拖到模型中,并将子系统连接到MATLAB函数块。

2.双击子系统并验证参数值。

在Simuli金宝appnk工具条上,在模拟选项卡,单击“模拟模型”按钮。仿真完成后,Video Viewer块在输入图像上显示填充的圆peppers.png

用C调用程序块在图像上绘制原子

这个例子展示了如何在Simulink模型中使用C Caller块在图像上绘制原子。金宝app

1.进口drawEllipsedrawFilledCircle在Simulink中使用OpenCV函数金宝appOpenCV代码导入向导.在导入过程中,选择I / O型drawEllipsedrawFilledCircle,如图所示。

2.一旦您导入函数,DrawCircle_Lib创建库。这个Sim金宝appulink库包含在图像上绘制原子所需的子系统和C Caller块。

打开模型DrawAtomCcaller.slx.拖动slwrap_drawEllipse来自Simulink库的C调用程序块金宝appDrawCircle_LibdrawEllipses模型中的子系统。创建C Caller块的三个副本,然后将这些块放在drawEllipses子系统。

在模型中,拖动slwrap_drawFilledCircle来自Simulink库的C调用程序块金宝appDrawCircle_Lib然后把方块放在空白的位置。

3.在Simuli金宝appnk工具条上,在模拟选项卡,单击“模拟模型”按钮。仿真完成后,Video Viewer块将原子显示在白色输入图像上。

另请参阅

|

相关的话题