这个例子展示了如何设计一个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格式。模型将结果数据和控制信号导出到工作区变量。
的CameraLink2VHT
和VHT2CameraLink
块是指自定义系统对象的MATLAB系统块。对象在Camera Link信号和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));
编写一个自定义System对象,将Camera Link信号转换为Vision HDL工具箱格式。中设计的对象转换相机控制信号到像素控制格式的例子。
对象转换控制信号,然后创建包含新控制信号的结构。当对象包含在MATLAB系统块中,块将此结构转换为Vision HDL工具箱块所期望的总线格式。有关System对象的完整代码,请参阅CAMERALINKtoVHT_Adapter.m
.
创建一个MATLAB System块并将其指向System对象。
选择Vision HDL工具箱块来处理视频流。这些块接受并返回一个标量像素值和一个pixelcontrol
包含相关控制信号的总线。这个标准接口使得从Vision HDL Toolbox库连接块变得很容易。
下面的示例使用Lookup Table块来反转测试图像中的每个像素。将表数据设置为uint8
灰度的颜色空间。
编写一个自定义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 Coder™许可证。
要生成HDL代码,请使用以下命令。
makehdl(“CameraLinkAdapterEx / CameraLink_InvertImage”)
现在,您可以模拟和合成这些HDL文件以及您现有的Camera Link系统。