主权项 |
一种基于图形处理器的图像实时去雾方法,包括:(1)初始化计算机:将图形处理器GPU与计算机连接起来,由计算机分配图形处理器GPU中的全局存储器;(2)将RGB彩色有雾图像I输入到计算机内存中,读取输入雾图I的数据,并将读取到的整型数据转换为浮点型数据存储在全局存储器中;(3)计算输入雾图I的暗通道图I<sup>dark</sup>:(3a)通过并行处理方式,求出输入雾图I中每个像素点的三通道最小值,生成一幅灰度图,并将数据存储在全局存储器中;(3b)将所得灰度图像与纹理存储进行绑定;(3c)通过并行处理方式,对绑定到纹理存储中的图像进行最小值滤波,即先进行行向最小值滤波,再对行向滤波后的结果进行列向最小值滤波,得到输入雾图I的暗通道图I<sup>dark</sup>,并将其存储在全局存储器中;(4)求取大气光值:(4a)采用合并访存方式,利用归约算法计算出输入雾图暗通道图像中亮度最大的0.1%的像素点,并将这些点的坐标存储在全局存储器中;(4b)采用合并访存方式,利用归约算法选定(4a)中存储坐标对应输入雾图I中最亮点的像素值作为大气光A值;(5)通过并行处理方式,计算图像中每个点的初始透射率<img file="dest_path_FDA0001085357230000011.GIF" wi="123" he="71" /><img file="dest_path_FDA0001085357230000012.GIF" wi="1126" he="159" />用计算得到的所有<img file="dest_path_FDA0001085357230000013.GIF" wi="98" he="71" />生成初始透射率图<img file="dest_path_FDA0001085357230000014.GIF" wi="57" he="54" />并存储在全局存储器中,其中,A<sup>c</sup>表示任意一个颜色通道的大气光值,常数ω取0.95;(6)通过并行处理方式,以输入雾图I的灰度图I'为引导图像,取滤波核尺寸为35×35,对初始透射率图<img file="dest_path_FDA0001085357230000015.GIF" wi="32" he="54" />进行引导滤波,将滤波后输出的精细化图像,作为最终透射率图t存储在全局存储器中;(7)通过并行处理方式,根据式<2>计算输入雾图I中每个点经过去雾之后的 像素值J(x):I(x)=J(x)t(x)+A(1‑t(x)) <2>其中,I(x)表示输入雾图I中任意x点的像素值,t(x)表示最终透射率图t中任意x点的透射率值,A代表大气光值;用计算得到的所有J(x)生成清晰无雾图像J,并将数据存储在全局存储器中;(8)采用合并访问的方式,从图形处理器GPU内部的全局存储器中读取所得清晰无雾图像J,输出到计算机内存中。 |