主要内容

在Simulink中使用MATLAB函数块检测视频中物体的边界金宝app

本示例向您展示如何通过使用MATLAB®函数块和Simulink®树莓派硬件支持包来识别树莓派硬件上的实时视频流中的对象边界。金宝app金宝app识别物体边界的过程被称为边缘检测.本例实现了Sobel边缘检测算法来识别物体的边界。

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

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

  • 利用MATLAB函数块对采集的视频进行Sobel边缘检测算法的实现。

  • 在树莓派硬件上显示边缘强调的对象。

所需的产品下载188bet金宝搏

所需的硬件

  • 树莓派硬件(推荐型号3B或3B+)

  • 一个金宝app受支持的USB摄像头或者一个树莓派相机模块

  • USB电缆

  • 以太网电缆

  • 一个连接到树莓派硬件和HDMI线的显示器(可选)

步骤1:连接树莓派硬件

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

1.将USB数据线的micro-USB一端连接到树莓派,将USB数据线的普通USB一端连接到计算机。等待硬件上的PWR指示灯开始闪烁。

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

  • 如果您有网络摄像头,请将网络摄像头连接到硬件上的一个USB端口。请注意,一些网络摄像头耗电太多,可能需要一个有电源的USB集线器才能正常运行。

  • 如果您安装了树莓派摄像头模块,请使用CSI线缆将摄像头模块连接到硬件。有关如何将相机模块连接到硬件的信息,请参见制造商提供的手册中的说明。

3.使用硬件设置界面,配置树莓派网络。

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

打开边缘检测模型。

该模型由以下三个模块组成:

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

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

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

Ls | -al /dev/video* .使用实例

2.复制设备的名称并将该名称粘贴到设备名称参数。

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

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

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

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

3.设置硬件板参数覆盆子π.属性中的参数将自动填充硬件板设置使用树莓派的默认值。

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

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

  • 用户名:硬件Linux系统的root用户名。Raspbian Linux发行版的默认用户名是π

  • 密码:硬件Linux系统的root用户密码。说明Raspbian Linux发行版的默认密码为树莓

5.点击应用.点击好吧以保存更改。

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

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

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

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

其他可以尝试的事情

将边缘检测算法替换为其他性能更好的算法。

另请参阅

在Simulink中使用MATLAB函数块自定义视频中的颜色金宝app