配置树莓派V4L2视频采集块的图像和设备属性,用于检测对象
这个例子展示了如何配置Simulink®支持包中的V4L2视频捕获块的图像和设备属性,并观察SDL视频显示块中的输出。金宝app金宝app本例还展示了如何调整V4L2 Video Capture块的图像属性,以检测有噪声和扭曲的实时视频中的对象。
先决条件
有关如何在树莓派硬件上使用Simulink支持包的更多信息,请参见金宝app金宝app树莓派硬件的Simulink支持包入门金宝app金宝app.
所需的硬件
树莓派硬件板
USB网络摄像头符合通用视频等级(UVC)标准
硬件设置
将网络摄像头连接到树莓派硬件板上。
任务1:修改V4L2视频捕获块参数,观察SDL视频显示块的变化
打开一个新的Simul金宝appink空白模型并连接V4L2视频采集而且SDL视频显示块。
将网络摄像头连接到树莓派板上。在摄像头前放一些东西。
在硬件选项卡中的Simuli金宝appnk模型模式部分中,点击在船上跑然后选择连接输入输出
在下拉列表中。在在电脑上运行部分中,点击使用IO运行.打开“SDL视频显示”窗口。
在V4L2视频捕获块中执行这些操作,并在SDL视频显示窗口中观察对图像的影响。
1.在基本的标签。V4L2视频采集块参数对话框:
选择沿水平轴翻转图像沿水平轴旋转图像。
选择沿垂直轴翻转图像沿垂直轴旋转图像。
2.在先进的的标签。V4L2视频采集块参数对话框:
使用滑块来改变图像的亮度。
高亮度图像
低亮度图像
中调整其他图像和设备属性先进的标签,并观察SDL视频显示块上的输出。有关更多信息,请参见V4L2视频采集.
任务2:使用V4L2视频捕获块检测对象
本任务使用来自Simulink支持包for Raspberry金宝app Pi硬件的预配置Simulink模型。金宝app
要打开Simulink模金宝app型,请在MATLAB®命令窗口中运行此命令。
open_system (“raspberrypi_object_detection”)
视频捕捉
的V4L2视频采集块中的视频捕获部分支持从uvc兼容的USB网络摄像头进行视频捕获。金宝app网络摄像头还应支持YUYV(亮度和亮度)模式下金宝app的数据采集。使用USB线将网络摄像头连接到树莓派板上。
配置V4L2视频采集块参数对话框。
集图像大小来
640 x480
.集像素格式来
YCbCr 4:2:2
.集样品时间来
1/30
.
的YV4L2视频捕获块的输出端口包含灰度图像。
算法
的中值滤波器算法区域的块减少了V4L2块捕获的灰度图像中存在的脉冲噪声。
的阈值
子系统将灰度图像转换为二值图像。
打开阈值
在MATLAB命令窗口中运行该命令。
open_system (“raspberrypi_object_detection /阈值”)
的Blob分析块计算检测到的对象的统计信息。在这个例子中,块计算图像统计信息,如质心和包围框。
中配置主要的标签。Blob分析块参数对话框。
选择重心而且边界框.
配置Blob属性的标签。Blob分析块参数对话框。
集最大blobs数量来
5
.该参数确定块检测到的对象的最大数量。选择指定以像素为单位的最小斑点区域来
1000
.选择指定以像素为单位的最大斑点区域来
100000
.
可视化
的画标记
可视化区域中的子系统接受三个输入。
二值图像
阈值
子系统二值图像上检测到的物体的质心坐标
在二值图像上检测到的对象的包围框坐标
打开画标记
在MATLAB命令窗口中运行该命令。
open_system (“raspberrypi_object_detection /画标记”)
的画标记块使用被检测对象的质心坐标点作为输入,在质心点上绘制标记。在本例中,字母X用于表示被检测物体的质心。
配置画标记块参数对话框。
集标志形状来
x标记
.集边框颜色来
指定的值
.集颜色值(s)来
[255 0 0]
.集图像信号来
单独的颜色信号
.
的画出形状块使用检测到的对象的包围框坐标点作为输入,在其周围绘制包围框。在本例中,矩形框用于在检测到的对象周围绘制边界框。
配置画出形状块参数对话框。
集形状来
矩形
.集边框颜色来
指定的值
.集颜色值(s)来
[255 0 0]
.集图像信号来
单独的颜色信号
.
图像数据是从数据类型转换而来的双
到uint8分离为单独的R, G和B数据信号,并作为SDL视频显示块的输入。
的过滤后的图像
子系统显示通过中值滤波器后的图像数据。
打开过滤后的图像
在MATLAB命令窗口中运行该命令。
open_system (“raspberrypi_object_detection /过滤图像”)
的原始图像
子系统显示使用V4L2视频捕获块捕获的原始图像数据。
打开原始图像
在MATLAB命令窗口中运行该命令。
open_system (“raspberrypi_object_detection /原始图像”)
在Con金宝appnected IO模式下运行Simulink模型
您可以对“V4L2视频捕获”对话框的图像属性进行更改,并在SDL视频显示窗口。有关更多信息,请参见使用已连接IO与硬件通信.
在硬件选项卡中的Simuli金宝appnk模型模式部分中,点击在船上跑然后选择连接输入输出
在下拉列表中。在在电脑上运行部分中,点击使用IO运行.
如果由于高背景噪声而未检测到对象,请更改先进的V4L2视频捕获块的选项卡。例如,当物体被放置在低光下时,可以提高亮度来检测物体。然而,当物体被放置在明亮的光线下时,你可以降低亮度来检测物体。不断更改图像属性,直到可以清楚地查看对象。
一旦图像清晰,可以检测到物体,观察围绕它绘制的质心和包围框。
其他可以尝试的事情
在外部模式下运行金宝appSimulink模型(Monitor和Tune)。
计算图像中检测到的物体的数量。使用参数,例如围绕检测到的对象绘制的质心或包围框的数量。
将V4L2 Video Capture块属性用于对象检测以外的应用程序。