主权项 |
一种基于局部SoG的水下图像清晰化方法,其特征在于,包括以下步骤:步骤一、输入水下图像为原图像I(x),用该原图像I(x)的边界值进行边界扩充得到填充后的图像I<sub>λ</sub>(x);I<sub>λ</sub>(x)=∫<sub>ω</sub>e(λ)S(x,λ)P(λ)dλ (1)式(1)中,ω表示整个可见光波长范围,λ为入射光波长,x为像素点,e(λ)表示入射光的分布,S(x,λ)为图像I<sub>λ</sub>(x)中的某一点对入射光的反射率,P(λ)表示相机对入射光的感光特性;步骤二、在该图像中取一个大小为N×N像素点的窗口,利用该窗口在图像I<sub>λ</sub>(x)的各个通道上逐行的从左到右进行平移,每次移动一个像素形成一局部域Ω,估计每个局部域Ω的光源颜色,步骤是:设该图像I<sub>λ</sub>(x)的场景中所有物体表面的任意一个局部域Ω的平均反射是无色差的,即:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfrac><mrow><msub><mo>∫</mo><mi>Ω</mi></msub><mi>S</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>λ</mi><mo>)</mo></mrow><mi>d</mi><mi>x</mi></mrow><mrow><msub><mo>∫</mo><mi>Ω</mi></msub><mrow><mi>d</mi><mi>x</mi></mrow></mrow></mfrac><mo>=</mo><mi>k</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000937960010000011.GIF" wi="1140" he="191" /></maths>式(2)中,Ω表示图像I<sub>λ</sub>(x)中某个局部域,k为[0,1]之间的一个常数;所以,局部域Ω的光源颜色如下:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msup><mrow><mo>(</mo><mfrac><mrow><msub><mo>∫</mo><mi>Ω</mi></msub><mrow><msup><mrow><mo>(</mo><msub><mi>I</mi><mi>λ</mi></msub><mo>(</mo><mi>x</mi><mo>)</mo><mo>)</mo></mrow><mi>p</mi></msup><mi>d</mi><mi>x</mi></mrow></mrow><mrow><msub><mo>∫</mo><mi>Ω</mi></msub><mrow><mi>d</mi><mi>x</mi></mrow></mrow></mfrac><mo>)</mo></mrow><mfrac><mn>1</mn><mi>p</mi></mfrac></msup><mo>=</mo><msub><mi>ke</mi><mrow><mi>Ω</mi><mi>λ</mi></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000937960010000012.GIF" wi="1118" he="230" /></maths>式(3)中,p为常数,取值范围为4~10,e<sub>Ωλ</sub>为局部域Ω的光源颜色,在一个局部域Ω中光源颜色的各通道分量为单值;将局部域Ω的光源颜色e<sub>Ωλ</sub>作为局部域中心像素点的光源颜色e<sub>λ</sub>:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msup><mrow><mo>(</mo><mfrac><mrow><msub><mo>∫</mo><mi>Ω</mi></msub><mrow><msup><mrow><mo>(</mo><msub><mi>I</mi><mi>λ</mi></msub><mo>(</mo><mi>x</mi><mo>)</mo><mo>)</mo></mrow><mi>p</mi></msup><mi>d</mi><mi>x</mi></mrow></mrow><mrow><msub><mo>∫</mo><mi>Ω</mi></msub><mrow><mi>d</mi><mi>x</mi></mrow></mrow></mfrac><mo>)</mo></mrow><mfrac><mn>1</mn><mi>p</mi></mfrac></msup><mo>=</mo><msub><mi>ke</mi><mi>λ</mi></msub><mo>=</mo><mi>k</mi><msub><mover><mi>e</mi><mo>‾</mo></mover><mi>λ</mi></msub><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><msub><mi>c</mi><mi>λ</mi></msub><mi>d</mi><mo>(</mo><mi>x</mi><mo>)</mo><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000937960010000013.GIF" wi="1133" he="222" /></maths>式(4)中,c<sub>λ</sub>是入射光在水中的衰减系数,d(x)为景深,e<sub>λ</sub>是局部域中心像素点的光源颜色,所述光源颜色e<sub>λ</sub>的元素值中包含了图像I<sub>λ</sub>(x)各通道的颜色衰减特征,<img file="FDA0000937960010000014.GIF" wi="61" he="54" />是图像I<sub>λ</sub>(x)的光源颜色,设<img file="FDA0000937960010000015.GIF" wi="51" he="55" />为常数;步骤三:利用局部域中心像素点的光源颜色e<sub>λ</sub>和图像I<sub>λ</sub>(x)的光源颜色<img file="FDA0000937960010000016.GIF" wi="48" he="54" />之间的颜色衰减特性求出图像I<sub>λ</sub>(x)的RGB三通道透射率t<sub>λ</sub>:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msup><mrow><mo>(</mo><mfrac><mrow><msub><mo>∫</mo><mi>Ω</mi></msub><mrow><msup><mrow><mo>(</mo><msub><mi>I</mi><mi>λ</mi></msub><mo>(</mo><mi>x</mi><mo>)</mo><mo>)</mo></mrow><mi>p</mi></msup><mi>d</mi><mi>x</mi></mrow></mrow><mrow><msub><mo>∫</mo><mi>Ω</mi></msub><mrow><mi>d</mi><mi>x</mi></mrow></mrow></mfrac><mo>)</mo></mrow><mfrac><mn>1</mn><mi>p</mi></mfrac></msup><mo>=</mo><mi>k</mi><msub><mover><mi>e</mi><mo>‾</mo></mover><mi>λ</mi></msub><msub><mi>t</mi><mi>λ</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000937960010000021.GIF" wi="1126" he="222" /></maths>选择R通道的透射率t<sub>R</sub>作为待分块的透射率;步骤四:建立图像I<sub>λ</sub>(x)像素的索引index;与此同时,选择待分块的透射率t<sub>R</sub>上半部分中均值和标准差最小的部分进行循环分块操作,循环4次后得到透射率块,根据图像I<sub>λ</sub>(x)像素索引index,确定该透射率块在图像I<sub>λ</sub>(x)中对应的图像块,通过求取该对应的图像块RGB三通道的均值得到该图像I<sub>λ</sub>(x)的背景光B<sub>λ,∞</sub>;根据式(6)得到清晰图像J<sub>λ</sub>(x):<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>J</mi><mi>λ</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mo>(</mo><msub><mi>I</mi><mi>λ</mi></msub><mo>(</mo><mi>x</mi><mo>)</mo><mo>-</mo><msub><mi>B</mi><mrow><mi>λ</mi><mo>,</mo><mi>∞</mi></mrow></msub><mo>)</mo></mrow><mrow><msub><mi>t</mi><mi>λ</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow></mfrac><mo>+</mo><msub><mi>B</mi><mrow><mi>λ</mi><mo>,</mo><mi>∞</mi></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mo>(</mo><mn>6</mn><mo>)</mo><mo>.</mo></mrow>]]></math><img file="FDA0000937960010000022.GIF" wi="1069" he="164" /></maths> |