主要内容

直方图均衡化

这个例子展示了如何使用视觉HDL工具箱™实现直方图均衡化直方图库块。

这个示例模型提供了一个hardware-compatible算法。你可以从这个算法生成HDL代码,实现它在一块板子上使用Xilinx™Zynq™参考设计。看到直方图均衡化和Zynq-Based硬件(视觉HDL工具箱支持包Xilinx Z金宝appynq-Based硬件)

介绍

模型显示了如何使用直方图库块以提高对比度的图像运用直方图均衡化。要了解更多,请参考柱状图块引用页面。在这个直方图均衡化的例子中有三个组件。

  • 视频分区分区分为四个大图像重叠小图像并行计算直方图。

  • HDLHistogram计算累积直方图的图像。

  • 均衡适用于原始图像的直方图均匀并生成增强对比度的图像。

视频分区

有些用例,直方图计算在整个图像,或在小区域代表图像的部分。计算直方图的图像是费时。视频组件在这个例子中划分一个图像分割成四个小图片重叠。同时在四个小图像直方图计算。每个输入帧分割成四个120 * 160的小图片。每个小图像连接到一个帧像素块生成像素流和相应的控制信号。

HDLHistogram

HDLHistogram子系统优化HDL代码生成。像素的直方图计算流使用柱状图块。由于输入图像灰度数据类型uint8,输入像素分成256箱。顺序模型读取计算直方图箱一旦块断言readRdy信号。本值来累积直方图计算。毕竟读256本值,模型断言binReset重置所有箱子为零。每个小的收集的直方图图像然后加在一起计算累积直方图的大图像。

阅读和重置时间图的直方图箱是如下图所示。

均衡

直方图均衡化可以应用到当前帧累积直方图计算,或框架。如果应用到当前帧,输入视频需要存储。本例延迟输入视频一帧并执行统一均衡到原始视频。然后比较平衡的视频与原视频。

HDL代码生成

HDL代码生成的直方图合成Virtex6使用Xilinx ISE (XC6VLX240T-1FFG1156) FPGA电路跑大约190 MHz,足以处理实时数据。

检查并生成HDL代码的这个例子中,您必须有一个高密度脂蛋白编码器™许可证。

您可以使用命令

makehdl (“HistogramEqualizationHDL / HDLHistogram”)

makehdltb (“HistogramEqualizationHDL / HDLHistogram”)

生成HDL代码和试验台HDLHistogram子系统。注意:试验台的一代需要很长时间由于大数据的大小。考虑减少仿真时间生成试验台。