主要内容

将视觉HDL块集成到相机链路系统中

此示例显示如何设计视觉HDL Toolbox™算法,以集成到使用CameraLink®信号协议的现有系统中。

Vision HDL Toolbox块使用自定义流视频格式。如果将Vision HDL Toolbox算法集成到以不同的流式视频格式运行的现有设计和验证码,则必须在边界处转换控制信号。该示例使用自定义系统对象将控制信号转换为相机链接格式和视觉HDL工具箱之间的控制信号PixelControl.格式。该模型通过使用MATLAB®系统块将系统对象导入Simulink®。金宝app

模型的结构

此模型从MATLAB工作空间导入相机链路格式的像素数据和控制信号。这Cameralink_Invertimage.子系统旨在集成到使用相机链路协议的现有系统中。这Cameralink_Invertimage.子系统将控制信号从相机链接格式转换为PixelControl.格式化,使用查找表块修改像素数据,然后将控制信号转换回相机链接格式。该模型将产生的数据和控制信号导出到工作区变量。

子系统的结构

Cameralink2VHTvht2cameralink.块是MATLAB系统块,指向自定义系统对象。对象在相机链路信号之间转换PixelControl.Vision HDL工具箱块和对象使用的格式。

您可以将Vision HDL Toolbox块的任何组合放入子系统中间。此示例使用反转查找表。

您可以从此子系统生成HDL。

以摄像机链接格式导入数据

相机链路由三个控制信号组成:f表示有效帧,l表示每个有效行,d表示每个有效的像素。对于此示例,输入数据和控制信号在其中定义initfcn.打回来。该矢量描述了该2×3,8位灰度框架。在该图中,活动图像区域位于虚线矩形中,并且非活动像素环绕它。像素用它们的灰度值标记。

fin =逻辑([0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0]);lin =逻辑([0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0]);din =逻辑([0,0,0,0,0,1,1,1,0.0,0,1,1,1,1,0,0,0,0,0,0,0,0]);PIXIN = UINT8([0,0,0,0,0,32,60,90,0,0,120,150,180,0,0,0,0,0,0,0,0]);

将相机链路控制信号转换为PixelControl格式

编写自定义系统对象以将相机链路信号转换为Vision HDL Toolbox格式。此示例使用所设计的对象将相机控制信号转换为PixelControl格式例子。

该对象转换控制信号,然后创建包含新控制信号的结构。当对象包含在MATLAB系统块中时,块将此结构转换为Vision HDL工具箱块预期的总线格式。对于系统对象的完整代码,请参阅Cameralinktovht_adapter.m.

创建MATLAB系统块并将其指向系统对象。

设计视觉HDL工具箱算法

选择Vision HDL Toolbox块以处理视频流。这些块接受并返回标量像素值和一个PixelControl.包含相关控制信号的总线。此标准界面可以轻松地将Vision HDL Toolbox库中的块连接在一起。

此示例使用查找表块在测试图像中反转每个像素。将表数据设置为反向的uint8.灰度颜色空间。

将PixelControl转换为相机链接

编写自定义系统对象以将Vision HDL Toolbox信号转换回相机链接格式。此示例使用所设计的对象将相机控制信号转换为PixelControl格式例子。

该对象接受控制信号的结构。当您在MATLAB系统块中包含对象时,该块会转换输入PixelControl.公共汽车进入这种结构。然后它计算等效的相机链路信号。对于系统对象的完整代码,请参阅vhttocameralinkadapter.m

创建第二个MATLAB系统块并将其指向系统对象。

查看结果

运行模拟。得到的矢量表示该反转的2×3,8位灰度帧。在该图中,活动图像区域位于虚线矩形中,并且非活动像素环绕它。像素用它们的灰度值标记。

如果您有DSP System Toolbox™许可证,则可以使用逻辑分析仪随时间查看信号。选择所有信号Cameralink_Invertimage.用于流的子系统,打开逻辑分析仪。该波形显示输入和输出摄像机链路控制信号和顶部的像素值,以及查找表块的输入和输出PixelControl.底部格式。这PixelControl.扩展公共汽车以观察布尔控制信号。

有关在Simulink中观察波形的更多信息,请参阅金宝app使用逻辑分析仪检查和测量转换(DSP系统工具箱)

生成子系统的HDL代码

要生成HDL代码,您必须具有HDL Coder™许可证。

要生成HDL代码,请使用以下命令。

Makehdl('cameralinkadapterex / cameralink_invertimage')

您现在可以模拟和综合这些HDL文件以及现有的摄像机链接系统。

相关话题