图像反演

这个例子展示了如何使用来自Raspberry Pi®块库的V4L2视频捕获和SDL视频显示块来实现使用Simulink®模型的图像反演算法,并在Raspberry Pi硬件上运行该模型。万博1manbetx

介绍

黑白图像反演是指将亮区映射为暗区,将暗区映射为光的图像处理技术。换句话说,在图像反转后,黑变白,白变黑。一个倒置的黑白图像可以被认为是原始图像的数字负片。

在本例中,将反演算法应用于从USB摄像机捕获的图像的红色(R)、绿色(G)和蓝色(B)组件,从而产生彩色数字负效应。图像的R、G、B分量用uint8值表示。也就是说,任何颜色组件的取值范围都是0到255。假设强度值在位置(x, y)美元图像是我(x, y)美元,反演映射定义为美元I_{倒}(x, y) = 255 - i (x, y)

先决条件

所需的硬件

要运行这个例子,你需要以下硬件:

(可选)要在外部监视器上显示输出视频,您需要满足以下条件:

  • HDMI或复合电视,或带有DVI或HDMI输入的显示器,以及适当的电缆

  • USB鼠标和键盘

任务1 -连接摄像头

在这个任务中,您将把一个USB摄像机或一个Raspberry Pi摄像机模块连接到您的Raspberry Pi硬件上,并检查Linux内核是否正确地检测到了摄像机。

1.如果你有一个USB摄像头:

  • 将USB相机连接到您的树莓派板上的一个USB端口。请注意,一些相机可能会消耗太多的能量,可能需要一个供电的USB集线器才能正常工作。

如果你有一个树莓派相机模块:

  • 按照制造商的说明,使用CSI电缆将摄像机模块连接到树莓派板上。

  • 在MATLAB提示符下执行以下命令,激活树莓派相机模块V4L2内核驱动程序:

r = raspberrypi;系统(r / sbin / modprobe bcm2835_v4l2)

2.在MATLAB提示符下执行以下命令,检查摄像头是否被Linux内核识别:

系统(r, ls的推拿/dev/video *)

典型输出为:

crw-rw—T+ 1根视频81,0 Dec 16 14:43 /dev/video0

确保上面显示的视频设备文件名与V4L2视频捕获块掩码上指定的“设备名”参数匹配。在本例中,“设备名称”应该设置为“/dev/video0”。

任务2 -信号监控和参数调优

对图像反转模型执行监视和调优操作。图像由连接到Raspberry Pi硬件的USB摄像头捕获,图像反演结果返回主机,由on SDL视频显示块显示。

1.打开图像反演模型。

2.选择应用程序>运行在硬件板上。检查打开的页面上的参数,确保树莓派板的连接参数是正确的。

3.硬件标签,然后按监视和优化按钮在工具栏上运行模型在树莓派硬件。

4.观察主机上的倒象显示。

5.模型运行时,双击常数阻塞并更改恒定值比如从255到120。观察产生的图像效果。

6.按下停止按钮以停止模型执行。

Task 3 -(可选)将映像反转模型作为独立应用程序配置和运行

在这个任务中,您将连接一个显示器到树莓派硬件。从USB摄像头捕获的视频将被运行在树莓派硬件上的模型倒转,并显示在与树莓派硬件相连的监视器上。

1.使用合适的电缆,将显示器或电视机连接到树莓派的硬件上。一旦连接上,显示器将显示Linux桌面。

2.将USB鼠标和键盘连接到Raspberry Pi硬件的USB端口。一旦连接,登录到Linux桌面,就像您登录到任何Linux®计算机一样。

3.打开图像反演模型。

4.选择应用程序>运行在硬件板>选项…。检查打开的页面上的参数,确保树莓派板的连接参数是正确的。

5.在模型中,单击构建、部署和启动按钮上的工具栏运行模型的树莓派硬件。在与树莓派硬件相连的显示器上,你会看到一个显示倒立图像的窗口。

6.通过在MATLAB®命令行上执行以下命令,停止在Raspberry Pi硬件上运行的模型

stopModel (r,“raspberrypi_inversion”);

其他要尝试的事情

  • 更改模型,为每个颜色组件使用不同的常量值。然后,独立地改变每个常数的值,以获得更大范围的成像效果。

总结

这个例子展示了一个Simulink模型实现的万博1manbetx图像反演算法。V4L2视频捕获和来自Raspberry Pi库的SDL视频显示块用于捕获和显示视频数据。这个例子展示了模型如何在外部模式下运行,以及如何作为独立的应用程序在Raspberry Pi硬件上运行。