透射率粗估计:
利用暗通道先验知识,根据雾天退化模型。
对雾天退化方程进行局部最小处理,三个通道独立执行,利用暗通道先验知识对三个通道之间进行最小值操作:
无雾图像的暗通道趋于零,大气光值Ac为常数:
可看作含雾图像暗通道的归一化,即透射率取值范围在0-1之间。
暗通道模块设计: 首先对输入图像的三个颜色通道取最小值,然后在局部窗口进行最小值滤波处理得到暗通道图像。
最小值图像:通过RGB通道分离,逐点像素进行三通道最小值比较。该过程只需两个选择器就可以完成。
暗通道图像:对最小值图像进行最小值滤波,行缓存,窗口的行最小,列最小。最终输出窗口最小值得到暗通道图像。
透射率的细估计:
引导滤波的方法来细化透射率,该方法能够有效缩短算法时间。
引导滤波器与将灰度图像作为向导,使滤波输出更加凸显细节,并且与双边滤波器类似,具有良好的保边平滑特性,不存在梯度反转现象。
引导滤波方法以边缘细节较为突出的灰度图像作为引导图像I,p代表需要进行滤波的输入图像,q为经滤波后输出的图像。
在优化透射率时,粗估计的透射率为t,优化后的透射率为q。
引导滤波存在一个基本假设,即滤波后的输出是引导图像的局部线性变换:
ak和bk两个系数由I和p所决定,由引导图像和输入图像决定。 a决定梯度信息,b决定平滑权重。
输出图像的梯度信息和引导图像的梯度信息存在密不可分的联系
为了确定系数(ak,bk),需要对输入p进行约束,减去干扰分量n可得:
为尽量减小q和p之间的差异,并且保持线性模型,构建带有正则项的岭回归
求解上式a,b在局部的值可得:
计算一个窗口的均值和方差,以及输入图像在局部窗口的均值。
对于引导滤波而言,共有两个输入端,其一为待滤波图像粗估计透射率t,其二为输入灰度图像I。
在计算引导图像均值、粗透射率均值、平方均值、引导系数a均值和引导系数b均值时都用到了均值滤波,因此需要在FPGA设计六个均值滤波处理。
需要设计6个均值滤波电路。整个引导滤波的数据存在小数,因此,需要对数据进行移位处理,当结束运算后再通过移位调整到原数值大小。
引导滤波大致可以分为两步进行设计:均值滤波的硬件电路设计以及求取引导参数a、b
均值滤波通过 行数据求和 列数据求和 平均运算做输出,通过行缓存实现流水线设计思想。