此示例显示如何通过使用录制视频中的阴影OpenCV进口商。
首先使用“将OpenCV”函数导入Simulink®万博1manbetx在Simulink中安装和使用计算机视觉工具箱界面for OpenCV万博1manbetx。该向导将创建一个Simulink库,该库包万博1manbetx含指定OpenCV函数的子系统和C调用程序块。然后将子系统用于预配置的Simulink模型中以接受记录的视频和阴影检测的阈值。万博1manbetx根据阈值,阴影检测工作。可以使用模型中可用的滑块组件更改阈值。
你学习如何:
将OpenCV函数导入Simulink库。万博1manbetx
在Simulink模型中使用来自生成的库的块。万博1manbetx
要构建OpenCV库,请标识操作系统的兼容C ++编译器,如图所示用于使用OpenCV库的函数的便携式C代码。使用MEX -Setup C ++命令配置标识的编译器。有关更多信息,请参阅选择C ++编译器。
在该示例中,通过使用Simulink模型来实现阴影检测器万博1manbetxshadowdetection.slx.
。
在这个模型中,subsystem_slwrap_run_shadow_detection.
子系统驻留在shadow_detection_lib库
。你创建了subsystem_slwrap_run_shadow_detection.
子系统使用OpenCV进口商。子系统接受来自来自多媒体文件块的视频和阈值以检测视频中的阴影。使用视频查看器块显示输出。在里面subsystem_slwrap_run_shadow_detection.
子系统,inimage.
是输入图像,阈值
是算法的阈值和远征
输出图像是输出图像。阈值滑块用于在模拟期间改变阈值。
要访问示例文件夹的路径,请在MATLAB®命令行中输入:
OpenCV万博1manbetxsimulinkexamples;
每个子文件夹都包含运行示例所需的所有支持文件。万博1manbetx
在继续执行这些步骤之前,请确保将示例文件夹复制到可写的文件夹位置并将当前的工作文件夹更改为......示例\ shadowdetection
。所有输出文件都保存到此文件夹中。
1.开始OpenCV进口商应用程序,点击应用在Matlab Toolstrip上。在“欢迎”页面中,指定项目名作为shadow_detection.
。确保项目名称不包含任何空格。点击下一个。
2.在指定OpenCV库中,指定这些文件位置,然后单击下一个。
项目根文件夹:指定示例文件夹的路径。此路径是您已保存示例文件的可写项目文件夹的路径。所有输出文件都保存到此文件夹中。
源文件:指定路径.cpp.
文件位于项目文件夹中的文件shadow_detection.cpp.
。
包括文件:指定路径.HPP.
位于项目文件夹中的头文件shadow_detection.hpp.
。
3.分析您的库以查找导入的功能和类型。分析完成后,单击下一个。选择run_shadow_detection.
功能并单击下一个。
4.从进口的内容,选择I / O类型
为了inimage.
和阈值
作为输入
那远征
作为输出,然后单击下一个。
5.在“创建Simulin万博1manbetxk库”中,验证默认值并单击下一个。
一个万博1manbetxSimulink库shadow_detection_lib.
从您的OpenCV代码创建到项目根文件夹中。该库包含子系统和C调用程序块。您可以使用这些块中的任何块进行模型仿真。在此示例中,子系统subsystem_slwrap_run_shadow_detection.
用来。
使用生成的子系统subsystem_slwrap_run_shadow_detection.
使用Simulin万博1manbetxk模型shadowdetection.slx.
:
1.在你的matlab中当前文件夹,右键单击该模型shadowdetection.slx.
然后点击打开
从上下文菜单中。拖动生成的子系统subsystem_slwrap_detectanddraw.
到模型。将子系统连接到MATLAB功能块。
2.双击子系统并指定这些参数值。
3.点击申请,然后单击好的。
在Simuli万博1manbetxnk Toolstrip上,在模拟选项卡,单击“模拟模型”。仿真完成后,视频查看器块将显示一个带有红色轮廓的阴影,根据阈值。对于显示的示例视频,阈值设置为0.0651
。