这个例子展示了如何使用OpenCV进口国.
首先将OpenCV函数导入Simulink®中金宝app在Simulink中安装和使用OpenCV的计算机视觉工具箱接口金宝app.该向导创建了一个Simulink库,其中包金宝app含了一个子系统和一个用于指定OpenCV函数的C Caller块。然后在预配置的Simulink模型中使用该子系统。金宝app这个子系统接受指定形状的坐标。然后在视频查看器中显示已定义的形状。
你学习如何:
导入OpenCV函数到Simulink库中。金宝app
在Simulink模型中使用生成库中的块。金宝app
要构建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进口国.子系统接受x
和y
圆心坐标和作为子系统输入的半径。子系统从image from File块在输入图像上创建一个圆圈。然后输出显示在Video Viewer块上。
要访问示例文件夹的路径,在MATLAB®命令行,输入:
OpenCV金宝appSimulinkExamples;
每个子文件夹包含运行示例所需的所有支持文件。金宝app
在继续执行这些步骤之前,请确保将示例文件夹复制到可写文件夹位置,并将当前工作文件夹更改为…\ DrawShapes例子
.所有的输出文件都保存在这个文件夹中。
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
使用。
使用生成的子系统subsystem_slwrap_drawFilledCircle
使用Simulin金宝appk模型DrawFilledCircle.slx
:
1.MATLAB中当前文件夹,右键单击模型DrawFilledCircle.slx
并从上下文菜单单击Open。将生成的子系统拖到模型中,并将子系统连接到MATLAB函数块。
2.双击子系统并验证参数值。
在Simuli金宝appnk工具条上,在模拟选项卡,单击“模拟模型”按钮。仿真完成后,Video Viewer块在输入图像上显示填充的圆peppers.png
.
这个例子展示了如何在Simulink模型中使用C Caller块在图像上绘制原子。金宝app
1.进口drawEllipse
和drawFilledCircle
在Simulink中使用OpenCV函数金宝appOpenCV代码导入向导.在导入过程中,选择I / O型
为drawEllipse
和drawFilledCircle
,如图所示。
2.一旦您导入函数,DrawCircle_Lib
创建库。这个Sim金宝appulink库包含在图像上绘制原子所需的子系统和C Caller块。
打开模型DrawAtomCcaller.slx
.拖动slwrap_drawEllipse
来自Simulink库的C调用程序块金宝appDrawCircle_Lib
来drawEllipses
模型中的子系统。创建C Caller块的三个副本,然后将这些块放在drawEllipses
子系统。
在模型中,拖动slwrap_drawFilledCircle
来自Simulink库的C调用程序块金宝appDrawCircle_Lib
然后把方块放在空白的位置。
3.在Simuli金宝appnk工具条上,在模拟选项卡,单击“模拟模型”按钮。仿真完成后,Video Viewer块将原子显示在白色输入图像上。