集成视觉HDL块到相机链接系统
这个例子展示了如何设计一个视觉HDL工具箱™算法,以集成到使用Camera Link®信号协议的现有系统中。
视觉HDL工具箱块使用自定义视频流格式。如果您将Vision HDL Toolbox算法集成到以不同流媒体视频格式运行的现有设计和验证代码中,则必须在边界处转换控制信号。该示例使用自定义System对象在Camera Link格式和Vision HDL工具箱之间转换控制信号pixelcontrol
格式。该模型使用MATLAB®System块将系统对象导入到Simulink®。金宝app
模型结构
该模型从MATLAB工作区导入Camera Link格式的像素数据和控制信号。的CameraLink_InvertImage
子系统设计用于集成到现有的系统,使用摄像头链接协议。的CameraLink_InvertImage
子系统将控制信号从Camera Link格式转换为pixelcontrol
格式,使用查找表块修改像素数据,然后将控制信号转换回相机链接格式。模型将结果数据和控制信号导出到工作区变量。
子系统结构
的CameraLink2VHT
而且VHT2CameraLink
块是指向自定义系统对象的MATLAB系统块。对象之间转换摄像头链接信号和pixelcontrol
visual 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));
转换相机链接控制信号像素控制格式
编写一个自定义系统对象,将Camera Link信号转换为Vision HDL Toolbox格式。类中设计的对象转换相机控制信号像素控制格式的例子。
对象转换控制信号,然后创建包含新控制信号的结构。当对象包含在MATLAB系统块中时,该块将此结构转换为Vision HDL Toolbox块所期望的总线格式。有关System对象的完整代码,请参见CAMERALINKtoVHT_Adapter.m
.
创建一个MATLAB System块,并将其指向System对象。
设计视觉HDL工具箱算法
选择视觉HDL工具箱块来处理视频流。这些块接受并返回一个标量像素值和一个pixelcontrol
包含相关控制信号的总线。这个标准接口使得从Vision HDL工具箱库中连接块变得很容易。
本例使用Lookup Table块反转测试图像中的每个像素。的反向设置表数据uint8
灰度色彩空间。
转换像素控制相机链接
编写一个自定义系统对象,将Vision HDL工具箱信号转换回Camera Link格式。类中设计的对象转换相机控制信号像素控制格式的例子。
对象接受控制信号的结构。当您在MATLAB系统块中包含对象时,块将转换输入pixelcontrol
进入这个结构。然后计算等效的摄像链路信号。有关System对象的完整代码,请参见VHTtoCAMERALINKAdapter.m
.
创建第二个MATLAB System块并将其指向System对象。
查看结果
运行模拟。得到的向量表示这个倒置的2 × 3、8位灰度帧。在图中,活动图像区域位于虚线矩形中,非活动像素围绕它。像素用它们的灰度值标记。
如果您拥有DSP System Toolbox™许可证,您可以使用逻辑分析仪随时间查看信号。中选择所有信号CameraLink_InvertImage
子系统,并打开逻辑分析器。该波形在顶部显示输入和输出Camera Link控制信号和像素值,在顶部显示Lookup Table块的输入和输出pixelcontrol
格式在底部。的pixelcontrol
扩展总线来观察布尔控制信号。
有关在Simulink中观察波形的更多信息,请参见金宝app使用逻辑分析仪检查和测量转换(DSP系统工具箱).
为子系统生成HDL代码
要生成HDL代码,您必须拥有HDL Coder™许可证。
要生成HDL代码,使用以下命令。
makehdl(“CameraLinkAdapterEx / CameraLink_InvertImage”)
您现在可以模拟和合成这些HDL文件与您现有的Camera Link系统。