基于MATLAB的离焦模糊图像复原
基于MATLAB的離焦模糊圖像復(fù)原
摘 要 圖像在獲取、傳輸和存儲(chǔ)過程中會(huì)受到如模糊、失真、噪聲等原因的影響,這些原因會(huì)使圖像的質(zhì)量下降。因此,我們需要采取一定的方法盡可能地減少或消除圖像質(zhì)量的下降,恢復(fù)圖像的本來面目,這稱為圖像復(fù)原。通過閱讀圖像復(fù)原技術(shù)相關(guān)資料,本文主要探討了維納(Wiener)濾波、約束最小二乘濾波算法、Lucy-Richardson算法和盲解卷積算法,并使用相關(guān)的工具箱函數(shù)deconvwnr函數(shù)、deconvreg函數(shù)、deconvlucy函數(shù)、deconvblind函數(shù)進(jìn)行仿真。另外本文對(duì)上述算法進(jìn)行了仿真實(shí)現(xiàn),并分析了四種算法的實(shí)驗(yàn)結(jié)果。
關(guān)鍵詞 圖像復(fù)原;維納濾波恢復(fù);約束最小二乘濾波恢復(fù);Lucy-Richardson恢復(fù);盲解卷積恢復(fù)
前 言
在實(shí)際的日常生活中,人們要接觸很多圖像,畫面。而在景物成像這個(gè)過程里可能會(huì)出現(xiàn)模糊、失真或混入噪聲,最終導(dǎo)致圖像質(zhì)量下降,這種現(xiàn)象稱為圖像“退化”。因此我們可以采取一些技術(shù)手段來盡量減少甚至消除圖像質(zhì)量的下降,還原圖像的本來面目,即在預(yù)定義的意義上改善給定的圖像,這就是圖像復(fù)原。盡管圖像增強(qiáng)和圖像復(fù)原之間有重疊部分,但前者主要是主觀處理,而圖像復(fù)原大部分是客觀處理。復(fù)原通過使用退化現(xiàn)象的先驗(yàn)知識(shí)試圖重建或恢復(fù)一副退化的圖像。因此,復(fù)原技術(shù)趨向于將退化模型化并用相反的處理來恢復(fù)原圖像,即考慮用模糊函數(shù)來消除圖像的模糊。引起圖像模糊有多種多樣的原因,舉例來說有運(yùn)動(dòng)引起的,高斯噪聲引起的,斑點(diǎn)噪聲引起的,椒鹽噪聲引起的等等。
本文主要研究離焦模糊圖像的復(fù)原,離焦模糊圖像是指在拍攝時(shí)景物與相機(jī)的相對(duì)運(yùn)動(dòng)引起的離焦 ,或是成像區(qū)域內(nèi)不同深度的對(duì)象所引起不同程度的離焦 ,還有由于在成像區(qū)域中存在不同深度的對(duì)象會(huì)使自動(dòng)調(diào)焦系統(tǒng)引起混淆而導(dǎo)致拍攝的相片離焦等。因此本文研究使用MATLAB把退化現(xiàn)象模型化,并對(duì)幾種常用的濾波方法用MATLAB進(jìn)行了仿真實(shí)現(xiàn),為人們?cè)诓煌膽?yīng)用場(chǎng)合及不同的圖像數(shù)據(jù)條件下選擇不同的復(fù)原算法提供了一定的依據(jù).
1 圖像退化/復(fù)原處理的模型
由于退化是線性的,所以空間不變的退化函數(shù)可以被模型化為卷積,同樣地,復(fù)原處理有時(shí)也稱為反卷積。
2 噪聲的特征
圖像噪聲是圖像在攝取或傳輸時(shí)所受的隨機(jī)信號(hào)干擾,是圖像中各種妨礙人們對(duì)其信息接受的因素。很多時(shí)候?qū)D像噪聲看成是多維隨機(jī)過程,因而描述噪聲的方法完全可以借用隨機(jī)過程的描述,即用其概率分布函數(shù)和概率密度分布函數(shù)。在許多情況下,這些函數(shù)很難測(cè)定和描述,甚至不能得到,所以常用統(tǒng)計(jì)特征來描述噪聲,如均值、方差和相關(guān)函數(shù)等。
3噪聲的分類
1、按干擾源分類
圖像噪聲按照其干擾源可以分為外部噪聲和內(nèi)部噪聲。
外部噪聲,即指系統(tǒng)外部干擾以電磁波或經(jīng)電源串進(jìn)系統(tǒng)內(nèi)部而引起的噪聲。如電氣設(shè)備,天體放電現(xiàn)象等引起的噪聲。
內(nèi)部噪聲:一般又可分為以下四種:
2、按噪聲與信號(hào)的關(guān)系分
乘性嗓聲和圖像信號(hào)是相關(guān)的,往往隨圖像信號(hào)的變化而變化,如飛點(diǎn)掃描圖像中的嗓聲、電視掃描光柵、膠片顆粒造成等,由于載送每一個(gè)象素信息的載體的變化而產(chǎn)生的噪聲受信息本身調(diào)制。在某些情況下,如信號(hào)變化很小,噪聲也不大。為了分析處理方便,常常將乘性噪聲近似認(rèn)為是加性噪聲,而且總是假定信號(hào)和噪聲是互相統(tǒng)計(jì)獨(dú)立。
3、 按概率密度函數(shù)分
這是比較重要的,主要因?yàn)橐霐?shù)學(xué)模型,這就有助于運(yùn)用數(shù)學(xué)手段去除噪聲。
(1)白噪聲(White Noise):具有常量的功率譜。白噪聲的一個(gè)特例是高斯噪聲(Gaussian Noise)。在空間域和頻域中,由于高斯噪聲在數(shù)學(xué)上的易處理性,這種噪聲(也稱為正態(tài)噪聲)模型經(jīng)常被用在實(shí)踐中。事實(shí)上,這種易處理性非常方便,使高斯模型經(jīng)常適用于臨街情況下。它的直方圖曲線服從一維高斯型分布:
(2)椒鹽噪聲(Pepper Noise):椒鹽噪聲是由圖像傳感器,傳輸信道,解碼處理等產(chǎn)生的黑白相間的亮暗點(diǎn)噪聲,往往由圖像切割引起。椒鹽噪聲是指兩種噪聲,一種是鹽噪聲(salt noise),另一種是胡椒噪聲(pepper noise)。鹽=白色,椒=黑色。前者是高灰度噪聲,后者屬于低灰度噪聲。一般兩種噪聲同時(shí)出現(xiàn),呈現(xiàn)在圖像上就是黑白雜點(diǎn)。該噪聲在圖像中較為明顯,對(duì)圖像分割、邊緣檢測(cè)、特征提取等后續(xù)處理具有嚴(yán)重的破壞性。
(3)沖擊噪聲(Impulsive Noise):指一幅圖像被個(gè)別噪聲像素破壞,而且這些噪聲像素的亮度與其領(lǐng)域的亮度明顯不同。 沖擊噪聲呈突發(fā)狀,常由外界因素引起;其噪聲幅度可能相當(dāng)大,無法靠提高信噪比來避免,是傳輸中的主要差錯(cuò)。
(4)量化噪聲(Quatization Noise):是指在量化級(jí)別不同時(shí)出現(xiàn)的噪聲。例如,將圖像的亮度級(jí)別減少一半的時(shí)候會(huì)出現(xiàn)偽輪廓。
4直接逆濾波
用于復(fù)原一副退化圖像的最簡(jiǎn)單方法是構(gòu)成一個(gè)如下形式的估計(jì):
然后采用的傅里葉逆變換來得到圖像的相應(yīng)估計(jì)。這種方法成為逆濾波。由前文中討論的,模型,我們可以將估計(jì)表示為
這個(gè)簡(jiǎn)單的表達(dá)式告訴我們,及時(shí)準(zhǔn)確的知道了,也不能恢復(fù),因?yàn)樵肼暦至渴且粋€(gè)隨機(jī)函數(shù),他的傅里葉變換是未知的。另外,在實(shí)際中,有許多為零的情況也是個(gè)問題。即使項(xiàng)也可以忽略,用為零的值來除它也將會(huì)控制復(fù)原估計(jì)。
采用逆濾波時(shí),典型的方法是形成比率,然后為了得到逆,將頻率的范圍限制在接近原點(diǎn)的頻率。概念是中的零不太可能在接近原點(diǎn)的地方出現(xiàn),因?yàn)樽儞Q的數(shù)值通常是該區(qū)域中的最高值。
5維納濾波
維納濾波(N.Wiener最先在1942年提出的方法)是一種最早也最為人們所熟知的線性圖像復(fù)原方法。維納濾波器尋找一個(gè)使統(tǒng)計(jì)誤差函數(shù)
我們感興趣的兩個(gè)量平均噪聲功率和平均圖像功率,分別定義為
在這種情況下,即使真實(shí)的比率未知,交互式地變化常量并觀察復(fù)原的結(jié)果的實(shí)驗(yàn)就變成了一件簡(jiǎn)單的事。當(dāng)然,假設(shè)函數(shù)為常量是一種粗糙的的近似。在前述濾波器方程中,用一個(gè)常量數(shù)組來代替就產(chǎn)生所謂的參數(shù)維納濾波器。
在IPT中,維納濾波是使用函數(shù)deconvwnr來實(shí)現(xiàn)的,函數(shù)deconvwnr有三種可能的語(yǔ)法形式。在所有的這些形式中,g代表退化圖像,fr是復(fù)原圖像。第一種語(yǔ)法形式
fr=deconvwnr(g,PSF)
假設(shè)信噪比為零。從而,維納濾波器的這種形式就是前文中的逆濾波器。語(yǔ)法
fr=deconvwnr(g,PSF,NSPR)
假設(shè)噪信功率比已知,或是個(gè)常量或是個(gè)數(shù)組;函數(shù)接受其中的任何一個(gè)。這是用于實(shí)現(xiàn)參數(shù)維納濾波器的語(yǔ)法,在這種情況下,NSPR可以是一個(gè)交互的標(biāo)量輸入。最后,語(yǔ)法
fr=deconvwnr(g,PSF,NACORR,FAVORR)
假設(shè)噪聲和未退化圖像的自相關(guān)函數(shù)NACORR和FAVORR是已知的。注意deconvwnr的這種形式使用和的自相關(guān)來代替這些函數(shù)的功率譜。從相關(guān)理論我們可知
其中,“”表示相關(guān)操作,表示傅立葉變換。這個(gè)表達(dá)式說明了對(duì)于deconvwnr的使用,通過計(jì)算功率譜的傅里葉變換,可以得到自相關(guān)函數(shù)。噪聲的自相關(guān)有類似的注釋。
若復(fù)原圖像呈現(xiàn)出由算法中使用的離散傅立葉變換所引入的振鈴,則它往往會(huì)提醒我們?cè)谡{(diào)用
J=edgetaper(I,PSF)
該函數(shù)利用點(diǎn)擴(kuò)散函數(shù)PSF模糊了輸入圖像I的邊緣。這樣,輸出圖像J就是圖像I和I的模糊版本的加權(quán)和。這個(gè)由PSF的自相關(guān)函數(shù)所決定的加權(quán)數(shù)組在它的中心區(qū)域取J等于I,而在接近邊緣的地帶等于I的模糊版本。
使用deconvwnr函數(shù)復(fù)原模糊噪聲圖像:
f=imread('cameraman.jpg');
LEN=30;
THETA=45;
PSF=fspecial('motion',LEN,THETA);
MF=imfilter(f,PSF,'circular','conv');
wnr=deconvwnr(MF,PSF);
subplot(2,2,1);imshow(f);title('原始圖像');
subplot(2,2,2);imshow(MF);title('模糊后的圖像');
subplot(2,2,3);imshow(wnr);title('恢復(fù)后的圖像');
經(jīng)過仿真,如圖所示,我們得到的結(jié)果雖然仍有一些噪聲存在,但是已經(jīng)和原圖很接近了。因?yàn)樵瓐D像和噪聲函數(shù)都是已知的,所以可以正確地估算參量。在實(shí)踐中,當(dāng)這些量之一(或更多)未知時(shí),挑戰(zhàn)便是在試驗(yàn)中智能地選擇所用的函數(shù),知道獲得可接受的結(jié)果為止。
6 約束的最小二乘方濾波
約束最小二乘濾波恢復(fù)函數(shù)deconvreg的調(diào)用格式:deconvreg(I,PSF,NP,LRANGE,REGOP),其中,I表示輸入像,PSF表示點(diǎn)擴(kuò)散函數(shù),NP、LRANGE( 輸入) 和 REGO是可選參數(shù),分別表示圖像的噪聲強(qiáng)度、拉氏算子的搜索范圍和約束算子,同時(shí),該函數(shù)也可以在指定的范圍內(nèi)搜索最優(yōu)的拉氏算子。下面通過程序事例說明約束最小二乘濾波恢復(fù)圖像:
I=imread ('cameraman.jpg');
PSF=fspecial('gaussian',10,4);
Blurred=imfilter(I,PSF,'conv');
V=.03;
BN=imnoise(Blurred,'gaussian',0,V);
NP=V*prod(size(I));
[reg LAGRA]=deconvreg(BN,PSF,NP);
Edged=edgetaper(BN,PSF);
reg2=deconvreg(Edged,PSF,NP/1.2);
reg3=deconvreg(Edged,PSF,[],LAGRA);
figure
subplot(2,3,1);imshow (I);title('原始圖像');
subplot(2,3,2);imshow (BN);title('加入高斯噪聲的圖像');
subplot(2,3,3);imshow (reg);title('恢復(fù)后的圖像');
subplot(2,3,4);imshow(reg2);title('振鈴抑制圖像');
subplot(2,3,5);imshow(reg3);title('拉格朗日算子恢復(fù)圖像');
圖6約束最小二乘恢復(fù)對(duì)比圖
利用振鈴抑制恢復(fù)圖像是幾種中恢復(fù)效果最好的,其他幾種方法也可以恢復(fù)但是比較模糊,效果不是很明顯。
7 使用Lucy-Richardson算法的迭代非線性復(fù)原
Lucy-Richardson(LR)算法假設(shè)圖像服從Poission 分布,采用最大似然法進(jìn)行估計(jì),是一種基于貝葉斯分析的迭代算法。其最優(yōu)估計(jì)以最大似然準(zhǔn)則作為標(biāo)準(zhǔn),即要使概率密度函數(shù)
大噪聲的缺陷。因此,處理噪聲項(xiàng)是 LR 算法應(yīng)用于低信噪比圖像復(fù)原的關(guān)鍵。
在IPT中,L-R算法是由名為deconvlucy的函數(shù)完成的,該函數(shù)的語(yǔ)法為
fr=deconvlucy(g,PSF,NUMIT,DAMPAR,WEIGHT)
其中,fr代表復(fù)原的圖像,g代表退化的圖像,PSF是點(diǎn)擴(kuò)散函數(shù),NUMIT為迭代次數(shù)(默認(rèn)為10次),DAMPAR和WEIGHT定義如下。
DAMPAR是一個(gè)標(biāo)量,它指定了結(jié)果圖像與原圖像g之間的偏離閾值。當(dāng)像素偏離原值的范圍在DAMPAR之內(nèi)時(shí),就不用再迭代。這既抑制了這些像素上的噪聲,又保存了必要的圖像細(xì)節(jié)。默認(rèn)值為0(無衰減)。
WEIGHT是一個(gè)與g同樣大小的數(shù)組,它為每一個(gè)像素分配一個(gè)權(quán)重來反映其重量。當(dāng)用一個(gè)指定的PSF來模擬模糊時(shí),WEIGHT
可以從計(jì)算像素中剔除那些來自圖像邊界的像素點(diǎn),因此,PSF造成的模糊是不同的。若PSF的大小為,則在WEIGHT中用到的零邊界的寬度是ceil(n/2)。默認(rèn)值是同輸入圖像g同等大小的一個(gè)單位數(shù)組。若復(fù)原圖像呈現(xiàn)出由算法中所用的離散傅里葉變換所引入的振鈴,則在調(diào)用函數(shù)deconvlucy之前,要利用函數(shù)edgetaper。
下面通過程序事例說明 Lucy-Richardson算法恢復(fù)圖像:
I=imread('lajiao.jpg');
PSF=fspecial('gaussian',5,5) ;
Blurred=imfilter(I,PSF,'symmetric','conv');
V=.003;
BN=imnoise(Blurred,'gaussian',0,V);
luc=deconvlucy(BN,PSF,5);
figure
subplot(2,2,1);imshow(I);title('原始圖像');
subplot(2,2,2);imshow (Blurred);title('模糊后的圖像');
subplot(2,2,3);imshow (BN);title('加噪后的圖像');
subplot(2,2,4);imshow (luc);title('恢復(fù)后的圖像');
圖7.1 Lucy-Richardson恢復(fù)對(duì)比圖
從圖中我們可以看到,經(jīng)多次迭代,尤其是在低信噪比情況下,重建圖像可能會(huì)出現(xiàn)一些斑點(diǎn),這些斑點(diǎn)并不代表圖像的真實(shí)結(jié)構(gòu),是輸出圖像過于逼近噪聲所產(chǎn)生的結(jié)果。
8 盲去卷積
通常圖像恢復(fù)方法均在成像系統(tǒng)的點(diǎn)擴(kuò)展函數(shù)PSF已知下進(jìn)行, 實(shí)際上它通常是未知的. 在 PSF未知的情況下, 盲去卷積是實(shí)現(xiàn)圖像恢復(fù)的有效方法。因此,把那些不以PSF知識(shí)為基礎(chǔ)的圖像復(fù)原方法統(tǒng)稱為盲去卷積算法。
在過去的20年里,一種盲去卷積的方法已經(jīng)受到了人們的極大重視,它是以最大似然估計(jì)(MLE)為基礎(chǔ),即一種用被隨機(jī)噪聲所干擾的量進(jìn)行估計(jì)的最優(yōu)化策略。簡(jiǎn)要的說,關(guān)于MLE方法的一種解釋就是將圖像數(shù)據(jù)看成隨機(jī)量,它們與另外一族可能的隨機(jī)量之間有著某種似然性。似然函數(shù)用、和來加以表達(dá),然后,問題就變成了尋求最大似然函數(shù)。在盲去卷積中,最優(yōu)化問題規(guī)定的約束條件并假定收斂時(shí)通過迭代來求解,得到的最大和就是還原的圖像和PSF。
工具箱通過函數(shù)deconvblind來執(zhí)行盲去卷積,它有如下語(yǔ)法:
[f,PSFe]=deconvblind(g,INITPSF)
其中,g代表退化函數(shù),INITPSF是點(diǎn)擴(kuò)散函數(shù)的出事估計(jì)。PSFe是這個(gè)函數(shù)最終計(jì)算到的估計(jì)值,fr是利用估計(jì)的PSF復(fù)原的圖像。 用來去的復(fù)原圖像的算法是L-R迭代復(fù)原算法。PSF估計(jì)受其初始推測(cè)尺寸的巨大影響,而很少受其值的影響。
若復(fù)原圖像呈現(xiàn)出由算法中使用的離散傅里葉變換所引入的振鈴,則我們?cè)谡{(diào)用函數(shù)deconvblind值錢,通常要使用函數(shù)edgetaper。下面我們使用函數(shù)deconvblind估計(jì)PSF:
I=imread('lajiao'.jpg');
PSF=fspecial('motion',10,30);
Blurred=imfilter(I,PSF,'circ','conv') ;
INITPSF=ones(size(PSF));
[J P]=deconvblind (Blurred,INITPSF,20);
figure
subplot(2,2,1);imshow (I);title('原始圖像');
subplot(2,2,2);imshow (Blurred);title('模糊后的圖像')
subplot(2,2,3);imshow (J);title('初步恢復(fù)后的圖像');
該算法優(yōu)點(diǎn)是,同時(shí)恢復(fù)了圖像和點(diǎn)擴(kuò)張函數(shù),在對(duì)失真情況毫無先驗(yàn)知識(shí)的情況下, 仍能實(shí)現(xiàn)對(duì)模糊圖像的恢復(fù)操作。利用 MATLAB實(shí)現(xiàn)的圖像恢復(fù), 并對(duì)恢復(fù)圖像的失真情況做了改善。在進(jìn)行圖像恢復(fù)時(shí),重建 PSF,對(duì)圖像進(jìn)行重建, 得到恢復(fù)的圖像。
總 結(jié)
本文介紹了圖像退化的原因并且簡(jiǎn)要介紹了當(dāng)前主流的圖像復(fù)原方法,并通過對(duì)各種復(fù)原方法的仿真,了解了各種方法的優(yōu)劣性,為我們?cè)趯?shí)際生活提供依據(jù)。但是無論是哪一種方法都有所局限性,我們應(yīng)該努力致力于研究新型的優(yōu)秀的圖像復(fù)原方法,來獲得更好的圖像復(fù)原效果。同時(shí),我們知道算法利用的信息越多信息的準(zhǔn)確性越高,則復(fù)原圖像的質(zhì)量就越高。而且采用 MATLAB實(shí)現(xiàn)圖像恢復(fù),通過幾條簡(jiǎn)單的MATLAB命令就可完成一大串高級(jí)計(jì)算機(jī)語(yǔ)言才能完成的任務(wù),簡(jiǎn)捷明快。大多數(shù)圖像處理模型是可以通過使用MATLAB的基本函數(shù)通過編程實(shí)現(xiàn)的。
參考文獻(xiàn)
[1]張燕妮.離焦模糊復(fù)原方法研究[D].大連:大連理工大學(xué),2005
[2]徐飛.施曉紅. MATLAB應(yīng)用圖像處理[M].西安電子科技大學(xué)出版社,2002.
[3]路敬襪,王冬梅. 基于MATLAB的圖像復(fù)原算法的研究[D].碩士學(xué)位論文.
[4]阮秋琦等譯. 數(shù)字圖像處理(MATLAB版)[M].北京:電子工業(yè)出版社,2005.
[5]張德豐,張葡青.維納濾波圖像恢復(fù)的理論分析與實(shí)現(xiàn)[J].中山大學(xué)學(xué) 報(bào),2006,45(6)44-47.
[6]14曹茂永,孫農(nóng)亮,郁道銀.離焦模糊圖像清晰度評(píng)價(jià)函數(shù)的研究[J].儀器儀表學(xué)報(bào),2007,
22(3):259-268.
[7]章毓晉.圖像處理和分析[M].北京:清華大學(xué)出版社,1999.
[8]蘇開亮.運(yùn)動(dòng)模糊圖像的恢復(fù)及恢復(fù)質(zhì)量評(píng)價(jià)[D].西安:西安電子科技大學(xué)出版社,2010,21-25.
[9]龔聲蓉,劉純平,王強(qiáng). 數(shù)字圖像處理與分析[M],清華大學(xué)出版社.2006.
[10]Edmund Y L. Digital restoration of defocus image in the wavelet domain[J].Applied Optics.2002,141(126):4806-4811.
[11]Tnoa Zznia.Blur identification analysis in blind image deconvolution using Markov random fields[J]
.Pattern Recognition and Image Analysis,2001,11(4):699-700.
[12]Williamk,Faramarzd.Fast computational techniques for Pseudoinverse and Wiener image restoration [J].IEEE Trans on computer,1997,26(6)571-580.
總結(jié)
以上是生活随笔為你收集整理的基于MATLAB的离焦模糊图像复原的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 压力传感器与51单片机C语言程序,基于5
- 下一篇: java 农历_JAVA工具例大全--阴