主要内容

将Vision HDL块集成到Camera Link系统中

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

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

模型的结构

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

子系统的结构

这个CameraLink2VHTVHT2CameraLink块是指向自定义系统对象的MATLAB系统块。对象在摄影机链接信号和像素控制Vision 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));

转换相机连接控制信号为像素控制格式

编写自定义系统对象以将摄影机链接信号转换为Vision HDL工具箱格式。此示例使用在中设计的对象转换相机控制信号到像素控制格式的例子。

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

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

visionhdl工具箱算法设计

选择Vision HDL工具箱块以处理视频流。这些块接受并返回标量像素值和像素控制包含相关控制信号的总线。此标准接口使将Vision HDL工具箱库中的块连接在一起变得非常容易。

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

转换pixelcontrol到Camera Link

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

对象接受控制信号的结构。在MATLAB系统块中包含对象时,该块将转换输入像素控制公共汽车进入这个结构。然后计算等效的摄像机链路信号。有关系统对象的完整代码,请参阅vhtocameralinkadapter.m.

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

查看结果

运行模拟。结果向量表示这个2×3、8位的反转灰度帧。在图中,活动图像区域位于虚线矩形中,非活动像素环绕它。像素用其灰度值进行标记。

如果您有DSP System Toolbox™许可证,您可以使用逻辑分析仪查看随时间变化的信号。选择中所有的信号CameraLink_InvertImage子系统进行流式处理,并打开逻辑分析仪。该波形在顶部显示输入和输出摄像机链接控制信号和像素值,在顶部显示查找表块的输入和输出像素控制格式在底部。这个像素控制总线被扩展以观察布尔控制信号。

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

为子系统生成HDL代码

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

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

makehdl('CameraLinkAdapterEx/CameraLink\u InvertImage')

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

相关的话题