主要内容

将视觉HDL模块集成到摄像机连接系统中

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

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

模型的结构

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

分系统结构

CameraLink2VHTVHT2CameraLink块是指自定义系统对象的MATLAB系统块。对象在Camera Link信号和pixelcontrolvisual HDL工具箱块和对象使用的格式。

您可以将任何Vision HDL Toolbox块组合放到子系统的中间。这个例子使用了一个倒序查找表。

您可以从这个子系统生成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工具箱格式。中设计的对象转换相机控制信号到像素控制格式的例子。

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

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

设计愿景HDL工具箱算法

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

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

转换pixelcontrol到Camera Link

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

对象接受控制信号的结构。当你在MATLAB系统块中包含对象时,该块会转换输入pixelcontrol总线进入这个结构。然后计算等价的Camera Link信号。有关System对象的完整代码,请参阅VHTtoCAMERALINKAdapter.m

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

查看结果

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

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

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

生成子系统的HDL代码

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

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

makehdl(“CameraLinkAdapterEx / CameraLink_InvertImage”)

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

相关的话题