这个例子展示了如何使用MATLAB®函数块和Simulink®树莓派硬件支持包来识别树莓派硬件上的实时视频流中的对象边界。金宝app金宝app识别物体边界的过程被称为边缘检测.这个例子实现了Sobel边缘检测算法来识别对象的边界。
在本例中,您将学习如何:
从网络摄像头或连接到树莓派硬件的摄像头模块获取实时视频流。
利用MATLAB函数块对采集的视频进行Sobel边缘检测算法。
在树莓派硬件上显示边缘强调的对象。
VNC查看器(可选)
提示:在开始这个示例之前,我们建议您完成开始与Simulink支持包树莓派硬件金宝app金宝app的例子。
1.将USB线的微型USB端连接到树莓派上,将USB线的普通USB端连接到计算机上。等待硬件上的PWR指示灯开始闪烁。
2.要将视频设备连接到硬件,请执行以下任何操作:
如果你有一个网络摄像头,将网络摄像头连接到硬件上的一个USB端口。请注意,一些网络摄像头消耗太多的能量,可能需要一个通电的USB集线器才能正常运行。
如果您有树莓派摄像机模块,请使用CSI线缆将摄像机模块与硬件连接。关于如何连接摄像机模块到硬件,请参考制造商提供的手册。
3.使用硬件设置界面,配置树莓派网络。
打开边缘检测模型。
该模型由以下三个模块组成:
V4L2视频捕捉:该块从连接到硬件的视频设备中捕获实时图像。该块将图像像素的红、绿、蓝分量输出为8位值。
双击该块并指定要捕捉视频的设备名称设备名称参数。如果不知道设备名称:
1.打开硬件终端,使用ls
命令。这个命令列出了所有连接到硬件的视频设备:
ls |过程/dev/video*
2.复制您的设备名称,并将名称粘贴到设备名称参数。
MATLAB函数:该块实现Sobel边缘检测算法。该算法通过逼近图像的梯度大小来寻找图像中的边缘。双击该块时,可以看到该算法由两个二维过滤器组成,一个用于计算列方向上的梯度,另一个用于计算行方向上的梯度。两个过滤器都使用3 × 3内核。
SDL视频显示:该块显示硬件上的边缘强调对象。
1.要打开模型配置参数对话框,单击Simulink模型工具栏上的齿轮图标。金宝app
2.在“配置参数”对话框中选择硬件实现.
3.设置硬件板参数覆盆子π
.的参数中自动填充参数硬件板设置使用默认值的树莓派。
4.在硬件板设置窗格中,展开目标硬件资源并选择板参数.指定以下参数值:
设备地址:硬件的IP地址或主机名。
用户名:指定硬件上Linux系统的root用户名。Raspbian Linux发行版默认的用户名为π
.
密码:指定硬件上运行的Linux系统的root密码。Raspbian Linux版本的默认密码为树莓
.
5.点击应用.点击好吧保存您的更改。
1.在模型工具栏上,将仿真模式设置为正常的
.
2.在模型工具栏中,单击Deploy to Hardware按钮。当支持包生成代码时,模型窗口的左下角显示状态。金宝app成功生成代码后,支持包将在硬件上加载并运行代码。金宝app可执行文件开始从视频设备获取实时视频,对获取的图像运行Sobel算法,然后在树莓派屏幕上显示边缘强调的对象。要查看Raspberry Pi屏幕,请使用VNC查看器并在硬件上执行远程会话以获得显示。你也可以在显示器和硬件之间连接一根HDMI线。
你也可以运行这个模型外部模式调整模型中的门限值,在仿真过程中观察输出特性的变化。在外部模式下,模型在计算机上运行,边缘强调的图像显示在SDL视频显示块。
根据您的要求,将边缘检测算法替换为具有更好性能的任何其他算法。