图像暗角阴影去除算法
暗角的概念
暗角一詞屬于攝影術(shù)語(yǔ),是指一幅圖像的四周的亮度或飽和度相比于中間部分的降低,畫面四角有變暗的現(xiàn)象。暗角對(duì)于任何相機(jī)設(shè)置或鏡頭都不可避免。當(dāng)然有時(shí)會(huì)故意引入暗角這種效果。
產(chǎn)生暗角的原因
(1)邊角的成像光線與鏡頭光軸有較大的夾角是主要原因。沿著視場(chǎng)邊緣的光線的前進(jìn)方向看光圈,由于光線與光圈所在的平面有夾角,看到的光圈是橢圓的,所以通光面積減小。鏡頭光心到膠片的邊緣距離較大,同樣的光圈直徑到達(dá)底片的光線夾角較小,亮度必然減小。同理,同樣的光線偏角,對(duì)于邊角光線位移較大,等價(jià)于照在較大的面積上。而面積是與位移的平方成正比的,所以綜合上述原因,邊緣亮度與光線和光軸夾角的cos值的4次方成正比。換句話說(shuō),廣角鏡頭的邊緣亮度隨著視角變大急劇下降。
(2)長(zhǎng)焦鏡頭,尤其是變焦長(zhǎng)焦鏡頭,鏡片很多,偏離光圈比較遠(yuǎn)的鏡片為了能讓邊角光線通過(guò),這些鏡片必須很大。為了降低成本,縮小了這些鏡片直徑,造成邊角成像光線不能完全通過(guò),降低了邊角的亮度。
(3)邊角的像差較大。為了提高像質(zhì),某些鏡片的邊緣或?qū)iT設(shè)置的光闌有意擋住部分影響成像質(zhì)量的邊緣光線,造成邊角失光。
暗角的分類
(1)自然暗角:表現(xiàn)為照片四角平緩暗化的漸變效果,這主要是由不同位置的光照進(jìn)相機(jī)傳感器的角度不同造成的。這種類型的照片暗角在用廣角鏡頭拍攝的時(shí)候最為明顯。:
(2)光學(xué)暗角:漸變同樣也很平緩,但是它形成的主要原因是由鏡頭的固有特性,或者由鏡筒自身的陰影造成。光學(xué)暗角也最終決定了一個(gè)鏡頭的成像圈的尺寸。這種暗角多在使用大光圈的情況下出現(xiàn),并且受特定的鏡頭設(shè)計(jì)的影響很大。
(3)機(jī)械暗角:通常非常突兀,且只存在于照片的四角,通常是由遮光斗、濾鏡環(huán)或其他安置在鏡頭前的遮光器材造成的。這種暗角如果由大光圈鏡頭或者變焦鏡頭來(lái)拍的話漸變效果就會(huì)略微平緩一些,沒(méi)有那么突兀,也可以使用長(zhǎng)焦從而避免這種效果。
po幾張帶暗角效果的原始圖像:
去暗角算法
去陰影的算法有多種,例如參考【7,8】里的方法,本文主要討論基于熵的去暗角算法,在論文《Retrospective shading correction based on entropy minimization》【1】中介紹了基于熵最小化的陰影校正(暗角自然也是一種陰影形式)方法,另外論文【2】《Single-Image Vignetting Correction by Constrained Minimization of log-Intensity Entropy》進(jìn)一步討論了論文【1】中方法的局限,主要是指局部最優(yōu)的問(wèn)題,并提出了一種基于對(duì)數(shù)熵的方法,這里大概講述一下論文【2】中方法的思路,另見(jiàn)參考[4]。其主要內(nèi)容有三部分:一是關(guān)于對(duì)數(shù)熵的評(píng)價(jià)準(zhǔn)則;二是陰影去除方法的建模;三是模型參數(shù)的優(yōu)化,使得熵值最小。
(1)對(duì)數(shù)熵
關(guān)于熵的概念,有點(diǎn)抽象,在維基里有很詳細(xì)的解釋,請(qǐng)參見(jiàn):https://en.wikipedia.org/wiki/Entropy,這里只po一下連續(xù)隨機(jī)變量的信息熵公式:
,
其中,X為圖像灰度的分布,f(x)為概率密度函數(shù),當(dāng)X乘以一個(gè)參數(shù)c時(shí),熵變?yōu)?#xff1a;
當(dāng)c>1時(shí),ln|c|>0.
(2)暗角建模
首先將灰度進(jìn)行對(duì)數(shù)映射:
即將[0,255]的像素值基于對(duì)數(shù)關(guān)系映射到[0, N-1]內(nèi),通常N取256,這樣映射后的像素范圍還是[0,255]。映射后的直方圖為:
,
那兩個(gè)數(shù)學(xué)符號(hào)了,是向上取整和向下取整的意思,作和是一種線性權(quán)重取值方式。此時(shí)的對(duì)數(shù)熵直方圖由于巨大的色階調(diào)整,會(huì)出現(xiàn)直方圖信息缺失,需要進(jìn)行高斯平滑得到新的直方圖。經(jīng)過(guò)高斯平滑后的離散熵為:
,
論文給出的陰影函數(shù)反函數(shù),也稱增益函數(shù)g 為:
, g的范圍為:1<g<1
其中,(x,y)是圖像點(diǎn)坐標(biāo),x,y均值表示圖像的中心位置。可以看到,當(dāng)r=0時(shí),校正系數(shù)=1,即無(wú)需校正。當(dāng)r=1時(shí),校正系數(shù)為1+a+b+c。經(jīng)過(guò)暗角校正后的圖像就為:
圖像從暗角的中心點(diǎn)到四周是逐漸變暗的,函數(shù)g是隨著r單調(diào)遞增的,因此函數(shù)g的一階導(dǎo)數(shù)大于0,即:
,由r>0,可以得到:
,令q2=r,那么轉(zhuǎn)換為:
,方程解為:
,根據(jù)g在所屬范圍內(nèi)的單調(diào)遞增特性,推出C1~C5,并保證了r=0和1時(shí),g>0,并且在范圍0~1內(nèi),g不等于0;
(3)參數(shù)最優(yōu)化
在第二部分,建立暗角模型后,問(wèn)題便轉(zhuǎn)化為一個(gè)最優(yōu)化問(wèn)題,最優(yōu)條件是調(diào)參使得對(duì)數(shù)熵最小。文中介紹的求最優(yōu)方法是爬山法:即從一個(gè)隨機(jī)的初始解開(kāi)始,逐步找到一個(gè)最優(yōu)解。 因?yàn)槟P椭杏卸鄠€(gè)參數(shù),通過(guò)爬山法逐步獲得最優(yōu)解的過(guò)程中可以依次分別將某個(gè)參數(shù)的值增加或者減少一個(gè)單位。
算法實(shí)現(xiàn):(待完成)
參考:
總結(jié)
以上是生活随笔為你收集整理的图像暗角阴影去除算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【阿里技术】2019年开发者必读!20位
- 下一篇: 【GIMP】免费开源图像处理软件