主要内容

在Simulink中使用Matlab函数块检测视频内对象的边界金宝app

这个例子向您展示了如何在树莓派硬件上使用MATLAB®功能块和Simulink®支持包来识别实时视频流中的对象边界。金宝app金宝app识别物体边界的过程称为边缘检测。此示例实现Sobel边缘检测算法以识别对象的边界。

在这个例子中,你将学习如何:

  • 从网络摄像头或连接树莓派硬件的摄像头模块获取实时视频流。

  • 使用MATLAB功能块在所获取的视频上实现Sobel边缘检测算法。

  • 在Raspberry PI硬件上显示边缘强调的对象。

需要产品下载188bet金宝搏

需要硬件

第1步:连接覆盆子PI硬件

提示:在开始这个例子之前,我们建议您完成入门Simulink支持包的树莓派硬件金宝app金宝app的例子。

1.将USB电缆的Micro-USB端连接到覆盆子PI和USB电缆的常规USB端到计算机。等到硬件上的PWR LED开始闪烁。

2.要将视频设备连接到硬件,请执行以下任一操作:

  • 如果您有网络摄像头,将网络摄像头连接到硬件上的USB端口之一。请注意,一些网络摄像头绘制过多的电源,可能需要供电的USB集线器进行正常操作。

  • 如果您有Raspberry PI相机模块,请使用CSI电缆将相机模块连接到硬件。有关如何将相机模块连接到硬件的信息,请按照制造商提供的手册中的说明进行操作。

3.使用硬件设置屏幕,配置覆盆子PI网络。

步骤2:打开和配置边缘检测Simulink模型金宝app

打开边缘检测模型。

该模型包括这三个块:

  • V4L2视频捕获:此块从连接到硬件的视频设备捕获实时图像。块将图像像素的红色,绿色和蓝色组件输出为8位值。

中双击该块并指定要捕获视频的设备名称设备名称范围。如果您不知道设备的名称:

1.打开硬件终端并使用ls命令。此命令列出连接到硬件的所有视频设备:

ls |过程/dev/video*

2.复制设备的名称并粘贴名称设备名称范围。

  • Matlab功能:该块实现了Sobel边缘检测算法。该算法通过近似图像的梯度大小来寻找图像中的边缘。双击该块时,可以看到该算法由两个二维过滤器组成,一个用于计算列方向上的梯度,另一个用于计算行方向上的梯度。两个过滤器都使用3 × 3内核。

第3步:更改模型配置参数设置

1.要打开模型配置参数对话框,单击Simulink模型工具栏上的齿轮图标。金宝app

2.在“配置参数”对话框中,选择硬件实现

3.设置硬件板参数到覆盆子PI.。此选择会自动填充参数硬件板设置使用raspberry pi的默认值。

4.在硬件板设置窗格中,展开目标硬件资源并选择板参数。指定这些参数值:

  • 设备地址:硬件的IP地址或主机名。

  • 用户名:指定硬件上运行的Linux系统的root用户名。缺省用户名为“Raspbian”π

  • 密码:指定在硬件上运行的Linux系统的root密码。Raspbian Linux发行版的默认密码是覆盆子

5.点击申请。点击好吧保存更改。

步骤4:在Raspberry PI硬件上部署边缘检测Simulink金宝app模型

1.在模型工具栏上,将仿真模式设置为普通的

2.在模型工具栏中,单击Deploy to Hardware按钮。当支持包生成代码时,模型窗口的左下角显示状态。金宝app成功生成代码后,支持包将在硬件上加载并运行代码。金宝app可执行文件开始从视频设备获取实时视频,对获取的图像运行Sobel算法,然后在树莓派屏幕上显示边缘突出的对象。要查看树莓派屏幕,使用VNC查看器并在硬件上执行远程会话来获取显示。你也可以在显示器和硬件之间连接HDMI线。

您还可以运行此模型外部模式调整模型中的阈值,观察仿真过程中输出特性的变化。在外部模式下,模型在计算机上运行,边缘突出的图像显示在SDL视频显示堵塞。

其他可以尝试的事情

用任何其他算法替换边缘检测算法,这些算法根据您的要求具有更好的性能。

也可以看看

在Simulink中使用Matlab功能块自定义视频中的颜色金宝app