直方图均衡化设计 /FPGA

直方图均衡化设计

直方图均衡:

个人理解:图像拍摄和采集过程中,出现偏亮或者偏暗,通过直方图均衡,达到亮度统一的效果,也就是增强对比度而不影响全局。

原理:

不懂。为什么通过这种方式可以达到均衡的效果。

公式:

第一步:统计各色度出现的次数。(直方图统计)

第二步:求和H(i)

第三步:乘以Dmax  ;

第四步:除以图像所有像素。Area

 

                 

关键点设置:

一、怎么对数据进行缓存

1、直接用bram缓存

2、用像素积宽度的寄存器对数据进行缓存。

3、im_buff[inBuff_datacounter];其中inBuff_datacounter在数据有效的时候进行加一操作。

二、怎么对数据进行统计判断。

直接设置灰度区间大小的统计寄存器。输入数是多少,对应统计寄存器的某一个寄存器。

例子:hist[in_data] = hist[in_data] +1

三、怎么进行累加。

Sum[in_data]为例:

设置一个in_dataCounter计数器。

in_dataCounter < in_data;时,该计数器加一.

并让Sum[in_data] =Sum[in_data]+Sum[in_dataCounter]

三:Dmax*Sum[in_data] / IW*row

hist[in_data]为例:

Hist[in_data] =Dmax*Sum[in_data] / IW*row;

除法一般用移位寄存器实现。

四:输出

1、直接函数调用。(function

2、用寄存器覆盖的方式实现函数调用。

OutData= (Sum[im_buff[inBuff_datacounter]]*Dmax)>>n(2^n=Iw*row)

 

转载于:https://www.cnblogs.com/yicool/p/11287998.html

你可能感兴趣的:(直方图均衡化设计 /FPGA)