主要内容

在树莓派硬件上实现连接I/O,并将数据发布到WebSocket服务器

这个例子展示了如何使用Simulink®支持包的树莓派™硬件,在连接金宝appI/O模式金宝app下使用摄像头在树莓派板上开发图像处理系统。该示例还向您展示了如何在web浏览器和SDL视频显示屏幕上发布输出。

介绍

在本例中,摄像机拍摄的视频使用在树莓派硬件上实现的图像处理算法进行处理。在将模型部署到硬件上之前,使用连接的I/O功能与摄像机建立通信。图像处理算法包括将视频转换为红色、绿色、蓝色、灰度、边缘检测或中值滤波输出。从树莓派硬件处理的视频可以在网络浏览器和SDL视频显示屏上观看。前者使用主机上的WebSocket客户端来读取视频数据。

先决条件

我们建议您完成入门Simulink支持包的树莓派硬件金宝app金宝app的例子。

所需的硬件

  • 覆盆子π董事会

  • 微型USB电缆

  • 您可以使用USB摄像头或车载摄像头。本例中,外置USB摄像头与树莓Pi板对接。

任务1:硬件安装

  1. 将树莓派板连接到主机。

  2. 将USB摄像头连接到树莓派板上。

任务2:配置Simulink模型金宝app

该支持包提金宝app供了一个预先配置的模型,您可以使用该模型在摄像机捕获的实时视频上部署图像处理算法。

要打开模型,在MATLAB®命令窗口运行以下命令:

open_system (“raspberrypi_image_processing_web_display”

这个Sim金宝appulink模型有以下几个方面:

一个。相机输出

在V4L2 Video Capture块中可以配置以下参数相机输出面积:

  1. 中输入摄像机标识符设备名称参数。

  2. 属性中以像素为单位指定视频的宽度和以行为单位的高度图像大小参数。

  3. 设置像素格式参数RGB

  4. 设置样品时间参数。

B。算法控制

算法控制区域允许您选择控件的类型,web或手动,以提供处理后的视频输出通过SDL显示窗口和web浏览器。

  • 选项0:将视频转换为只显示红色组件

  • 选项1:将视频转换为只显示绿色部分

  • 选项2:将视频转换为只显示蓝色组件

  • 选项3:转换视频只显示灰度输出

  • 选项4:转换视频只显示边缘检测输出

  • 选项5:过滤中值噪声

您可以在“手动控制”块中配置以下参数,将处理后的视频输出通道设置为SDL视频显示屏显示。

  1. 设置一个恒定值这对应于图像处理操作。

  2. 默认的样品时间0.5秒。

网络控制通过“子系统”,可以在主机页面的下拉菜单中选择图像处理操作。

要打开Web Control子系统,请在MATLAB命令窗口中运行以下命令:

open_system (“raspberrypi_image_processing_web_display /网络控制”

在WebSocket订阅块中配置以下参数,将处理后的视频输出通道显示在web浏览器上。确保配置相同服务器IP地址服务器端口在WebSocket的publish块中Web浏览器显示区域。

  1. 进入服务器IP地址JSON数据所在WebSocket服务器的IP地址(Raspberry Pi板的IP地址)。这个示例使用192.168.0.111因为我们将通过专用网络访问服务器。

  2. 进入服务器端口接收来自WebSocket发布块的信号的WebSocket服务器。该参数设置为9137在这个例子中。

  3. 属性中获取JSON数据属性的源通过以下方式指定输出信息参数。本例使用默认值。

  4. 设置数量的输出参数1

  5. 指定数据大小数据类型输出信号。

  6. 设置样品时间参数,使视频数据基于此样本时间发布到web浏览器上。

C。图像处理子系统

要打开图像处理子系统,请在MATLAB命令窗口中运行以下命令:

open_system (“raspberrypi_image_processing_web_display /算法”

图像处理子系统收到4个输入。

  • 摄像机捕捉到的视频的红色分量数据

  • 摄像头捕获视频的绿色分量数据

  • 摄像机捕捉到的视频的蓝色分量数据

  • 算法控制子系统选择输出所需的图像处理算法

D。输出显示

在“SDL Video Display”区域框中配置如下参数输出显示面积:

  1. 设置像素格式参数RGB

E。Web浏览器显示

这个子系统接收处理后的视频输出,将视频数据发布到WebSocket服务器,并在WebSocket客户端中在web浏览器上读取。

要打开Web浏览器显示子系统,请在MATLAB命令窗口中运行以下命令:

open_system (“raspberrypi_image_processing_web_display /浏览器显示”

在WebSocket发布块中配置以下参数:

  1. 属性中输入唯一的标签块标签参数来识别服务器中的数据信号。该参数设置为CameraData在这个例子中。

  2. 进入服务器IP地址您想要将视频数据发布到的服务器的。这个示例使用192.168.0.111因为我们将通过专用网络访问服务器。

  3. 进入服务器端口从WebSocket发布块接收信号的服务器。设置服务器端口为9137在这个例子中。

  4. 设置输入数量参数1

要将外置USB摄像头与树莓派板连接,必须在硬件上部署Simulink模型之前启用这些属性的配置。金宝app

  1. 打开金宝app模型。

  2. 建模选项卡上,选择模型设置

  3. 配置参数对话框中,选择硬件实现

  4. 设置硬件板覆盆子π.这个选择填充硬件板设置参数为树莓派硬件的默认值。

  5. 设置通信接口参数TCP / IP

任务3:运行Simuli金宝appnk模型在SDL视频显示器上查看处理后的视频

SDL视频显示屏用于查看处理后的视频。当手动开关选择为“手动控制”时,才可以在SDL视频显示屏上查看所选的加工选项。

  1. 打开金宝app模型。

  2. 中设置图像处理操作选项常数参数的手动控制块。

  3. 硬件选项卡中的金宝app模式部分中,选择连接输入输出然后点击运行IO

  4. 在SDL视频显示窗口观察相应的视频输出。

  5. 在模型进行模拟时,您可以更改常数参数,观察从0到5所处理的所有操作对应的视频输出。

SDL视频显示输出选项0:只显示红色组件

SDL视频显示输出选项1:只显示绿色组件

SDL显示选项2的屏幕输出:只显示蓝色组件

SDL显示屏幕输出选项3:显示灰度输出

SDL选项4显示屏幕输出:显示边缘检测输出

SDL显示选项5的屏幕输出:滤波中值噪声

任务5:运行Simuli金宝appnk模型在Web浏览器上查看处理过的视频

web浏览器将显示已处理视频的选定输出。只有当手动切换选择为“web Control”时,才能在web浏览器上查看所选处理选项。

  1. 打开金宝app模型。

  2. 模拟选项卡上,单击运行

  3. 要访问web浏览器仪表盘并在web浏览器上打开,在MATLAB命令窗口中输入以下命令:

网络(“RaspiCameraFeed.html”“浏览器”

4.进入IP地址WebSocket港口,相机的分辨率在网页浏览器仪表板上,单击连接

请注意:树莓Pi的IP地址WebSocket发布WebSocket订阅,树莓派摄像机直播仪表板必须相同。

树莓派摄像机直播仪表板使用JavaScript预配置,从IP地址读取JSON数据192.168.0.111和端口9137.新闻F12查看HTML页面的源代码,其中解释了如何使用JavaScript构建仪表板。

当模型仍在模拟时,您可以从相机模式菜单,并在web浏览器仪表板上观察处理后的视频输出。

任务6:在树莓派硬件上部署Si金宝appmulink模型

你也可以在树莓派硬件上部署Simulink模型来金宝app创建一个独立的系统。浏览器仪表板上的下拉菜单用于从已处理的视频中进行选择。

  1. 打开金宝app模型。

  2. 选择控制手动切换到网络控制

  3. 硬件选项卡中的金宝app模式部分中,选择机上运行然后点击构建、部署和启动

  4. 在MATLAB命令窗口输入以下命令:

网络(“RaspiCameraFeed.html”“浏览器”

5.进入IP地址WebSocket港口,相机的分辨率在网页浏览器仪表板上,单击连接

请注意:树莓Pi的IP地址WebSocket发布WebSocket订阅,树莓派摄像机直播仪表板必须相同。

当模型仍在模拟时,您可以从相机模式菜单,并在web浏览器仪表板上观察处理后的视频输出。

相关链接