基于FPGA的CLAHE图像增强算法设计

参考文献《基于FPGA的自适应直方图均衡算法的研究与实现

最近终于有时间可以写点东西了,跟网友聊天,希望我能把FPGA实现CLAHE算法写点东西,我简单的写了些,希望能给大家学习提供点思路。

  1. CLAHE图像算法原理

CLAHE图像增强算法又称为对比度有限的自适应直方图均衡算法,其算法原理是通过有限的调整图像局部对比度来增强有效信号和抑制噪声信号。

CLAHE算法首先求解各个区域的直方图;然后基于期望阈值获得相应的裁剪限幅;接着按照灰度数不超过裁剪限幅的原则对灰度进行重新分配,将裁剪掉的部分均匀的分布到各个灰度级上;最后对图像灰度进行重新统计,计算直方图的累积分布函数(CDF)。

CLAHE算法求解主要包括计算直方图、CDF及其变换函数。为了减少图像处理时 CLAHE 算法的计算次数,通常对图像进行划分区域处理,使用插值算法求解部分像素。

CLAHE图像算法主要分为以下几个部分,如图所示。

基于FPGA的CLAHE图像增强算法设计_第1张图片

1.1 CLAEH图像的区域划分

CLAHE图像的区域划分一般按照偶数进行划分,一般按照8*8进行图像区域划分的。A区域采用直接映射法对图像数据进行计算;B区域采用线性插值法对图像数据进行计算;C区域采用双线性插值法对图像数据进行计算,如下图所示。

基于FPGA的CLAHE图像增强算法设计_第2张图片

  1. CLAHE图像算法的FPGA实现

按照CLAHEN算法的原理进行FPGA框架的搭建,主要分为三个模块组成。它们分别是zone_division、chahe_zone_cal、clahe_data_cal。
    zone_divisoin模块的作用实现对图像数据的区域划分;

clahe_zone_cal模块的作用实现对分区数据的直方图统计;

clahe_data_cal模块的作用实现对分模块数据的映射计算。

基于FPGA的CLAHE图像增强算法设计_第3张图片

3.CLAHE算法仿真运算

基于FPGA的CLAHE图像增强算法设计_第4张图片

4.算法效果展示

采用的图像是网络用matlab实现的算法的照片

原始图像

基于FPGA的CLAHE图像增强算法设计_第5张图片

matlab实现的算法效果图

基于FPGA的CLAHE图像增强算法设计_第6张图片

FPGA实现的算法效果图

基于FPGA的CLAHE图像增强算法设计_第7张图片

通过对图像进行仿真验证,效果与matlab处理的效果相近,证明了FPGA实现该算法是可以的。

你可能感兴趣的:(FPGA学习,fpga开发,算法,matlab)