主要内容

集成视觉HDL模块到相机链接系统

这个例子展示了如何设计一个Vision HDL工具箱™算法集成到使用Camera Link®信号协议的现有系统中。

Vision HDL工具箱块使用自定义的流媒体视频格式。如果您将Vision HDL Toolbox算法集成到以不同的流媒体视频格式运行的现有设计和验证代码中,则必须转换边界上的控制信号。该示例使用自定义系统对象在Camera Link格式和Vision HDL工具箱之间转换控制信号pixelcontrol格式。该模型使用MATLAB®系统块将系统对象导入到Simulink®中。

模型结构

该模型从MATLAB工作区导入Camera Link格式的像素数据和控制信号。的CameraLink_InvertImage子系统设计用于集成到现有的系统,使用相机链接协议。的CameraLink_InvertImage子系统将控制信号从Camera Link格式转换为pixelcontrol格式,使用Lookup Table块修改像素数据,然后将控制信号转换回Camera Link格式。模型将结果数据和控制信号导出到工作空间变量。

子系统结构

CameraLink2VHT而且VHT2CameraLinkblocks是指向自定义系统对象的MATLAB系统块。对象之间转换相机链接信号和pixelcontrolvisual HDL工具箱块和对象使用的格式。

您可以将Vision HDL工具箱块的任何组合放到子系统的中间。本例使用倒置查找表。

您可以从这个子系统生成HDL。

导入摄像机链路格式的数据

Camera Link由三个控制信号组成:F表示有效帧,L表示每条有效线,D表示每一个有效像素。中定义了输入数据和控制信号InitFcn回调。这些向量描述了这个2乘3 8位的灰度帧。在图中,活动图像区域位于虚线矩形内,非活动像素围绕在其周围。像素用它们的灰度值标记。

鳍=逻辑([0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,- 1,0,0,0,0,0,0,0,0));林=逻辑([0,0,0,0,0,0,0,1,1,- 1,0,0,0,1,1,- 1,0,0,0,0,0,0,0,0));喧嚣=逻辑([0,0,0,0,0,0,0,1,1,- 1,0,0,0,1,1,- 1,0,0,0,0,0,0,0,0));pixIn = uint8([0, 0, 0, 0, 0, 0, 0, 30岁,60岁,90年,0,0,0120150180,0,0,0,0,0,0,0,0));

转换相机链接控制信号到像素控制格式

编写一个自定义的System对象,将Camera Link信号转换为Vision HDL Toolbox格式。中设计的对象转换相机控制信号到像素控制格式的例子。

对象转换控制信号,然后创建包含新控制信号的结构。当对象包含在MATLAB系统块中时,该块将此结构转换为Vision HDL Toolbox块所期望的总线格式。有关System对象的完整代码,请参见CAMERALINKtoVHT_Adapter.m

创建一个MATLAB系统块,并将其指向System对象。

设计视觉HDL工具箱算法

选择Vision HDL Toolbox块来处理视频流。这些块接受并返回标量像素值和pixelcontrol包含相关控制信号的总线。这个标准接口使得从Vision HDL Toolbox库中连接块变得容易。

这个例子使用Lookup Table块来反转测试图像中的每个像素。将表数据设置为uint8灰度的颜色空间。

转换像素控制到相机链接

编写一个自定义的System对象,将Vision HDL Toolbox信号转换回Camera Link格式。中设计的对象转换相机控制信号到像素控制格式的例子。

该对象接受控制信号的结构。当您在MATLAB系统块中包含对象时,该块将转换输入pixelcontrol总线进入这个结构。然后计算等效的摄像机链路信号。有关System对象的完整代码,请参见VHTtoCAMERALINKAdapter.m

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

查看结果

运行仿真。得到的向量表示这个倒置的2 × 3 8位灰度帧。在图中,活动图像区域位于虚线矩形内,非活动像素围绕在其周围。像素用它们的灰度值标记。

如果您有DSP System Toolbox™许可证,您可以使用Logic Analyzer查看随时间变化的信号。中的所有信号CameraLink_InvertImage子系统的流,并打开逻辑分析器。该波形在顶部显示输入和输出Camera Link控制信号和像素值,在中显示Lookup Table块的输入和输出pixelcontrol格式在底部。的pixelcontrol扩展总线来观察布尔控制信号。

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

生成子系统的HDL代码

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

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

makehdl(“CameraLinkAdapterEx / CameraLink_InvertImage”)

现在,您可以将这些HDL文件与现有的Camera Link系统一起模拟和合成。

相关的话题

Baidu
map