主权项 |
一种基于半逆法的快速单幅图像去雾算法,其特征在于,包括以下步骤:A1、用改进的半逆检测算法求整体大气光照值A;首先,取雾气区域亮度分量上方1/10的像素区域做四叉树分割,将这些区域分为四个小块区域,分别比较四个小块区域灰度均值与灰度方差之差,选择差值最小的区域,继续做四叉树分割,一直到选出的矩形区域达到固定边宽,停止分割,取这个矩形区域中最大灰度值做为整体大气光照值A;A2、白平衡处理降质图像I(x);白平衡的步骤就是首先将相机拍摄到的图像做归一化处理;其次,将整体大气光照值A校正为纯白色;利用白点(White Point)的算法,其公式可表示为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msubsup><mi>I</mi><mi>white</mi><mi>r</mi></msubsup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><msup><mi>I</mi><mi>r</mi></msup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mfrac><mi>A</mi><msub><mi>max</mi><mi>r</mi></msub></mfrac></mrow>]]></math><img file="FDA0000527228810000011.GIF" wi="429" he="135" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msubsup><mi>I</mi><mi>white</mi><mi>g</mi></msubsup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><msup><mi>I</mi><mi>g</mi></msup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mfrac><mi>A</mi><msub><mi>max</mi><mi>g</mi></msub></mfrac></mrow>]]></math><img file="FDA0000527228810000012.GIF" wi="438" he="141" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msubsup><mi>I</mi><mi>white</mi><mi>b</mi></msubsup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><msup><mi>I</mi><mi>b</mi></msup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mfrac><mi>A</mi><msub><mi>max</mi><mi>b</mi></msub></mfrac><mo>;</mo></mrow>]]></math><img file="FDA0000527228810000013.GIF" wi="453" he="142" /></maths>A3、求R,G,B三颜色通道的最小值图像I<sub>min</sub>(x);<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>I</mi><mi>min</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>min</mi><mrow><mi>c</mi><mo>∈</mo><mo>{</mo><mi>r</mi><mo>,</mo><mi>g</mi><mo>,</mo><mi>b</mi><mo>}</mo></mrow></munder><msup><mi>I</mi><mi>c</mi></msup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000527228810000014.GIF" wi="437" he="97" /></maths>A4、利用本算法的高斯平滑滤波核处理I<sub>min</sub>(x),得到边缘合成条件ΔB;A5、分别利用7×7的高斯滤波和9×9的均值滤波窗口处理I<sub>min</sub>(x),得到平滑图像I<sub>smooth</sub>(x);A6、利用合成公式合成大气光幂V(x,y):<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>V</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>min</mi><mrow><mo>(</mo><mrow><mo>(</mo><msub><mi>I</mi><mi>min</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>I</mi><mi>smooth</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>/</mo><mn>2</mn><mo>,</mo><mi>C</mi><mo>)</mo></mrow></mtd><mtd><mi>ΔB</mi><mo>≠</mo><mn>0</mn></mtd></mtr><mtr><mtd><mi>min</mi><mrow><mo>(</mo><msub><mi>I</mi><mi>smooth</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>,</mo><mi>C</mi><mo>)</mo></mrow></mtd><mtd><mi>ΔB</mi><mo>=</mo><mn>0</mn></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000527228810000015.GIF" wi="1003" he="139" /></maths>A7、以I<sub>min</sub>(x)作为引导图像,对V(x,y)进行导向滤波处理;A8、根据公式:V(x,y)=max(min(K*V(x,y),I<sub>min</sub>(x)),0),得到优化后的V(x,y);A9、根据公式:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>J</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>I</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>-</mo><mi>V</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow><mrow><mn>1</mn><mo>-</mo><mi>V</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>/</mo><mi>A</mi></mrow></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000527228810000021.GIF" wi="499" he="140" /></maths>得到复原图像J(x,y);A10、对J(x,y)做色调映射和细节增强。 |