劉跟奎
摘 要 本文針對(duì)勻速直線運(yùn)動(dòng)模糊圖像的參數(shù)確定問題,提出在MATLAB7.0下得到模糊圖像的頻譜圖和自相關(guān)圖,并用Matlab自帶工具進(jìn)行手動(dòng)的方法確定模糊參數(shù);實(shí)驗(yàn)結(jié)果證明模糊角度和理論值相差0.9°,模糊長度和理論值相差1個(gè)像素,與已有的幾種方法相比較精確度更高,更有利于提高圖像復(fù)原的清晰度。
關(guān)鍵詞 傅立葉變換;點(diǎn)擴(kuò)散函數(shù);頻譜圖;自相關(guān)圖
中圖分類號(hào) TP3 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1674-6708(2016)160-0153-02
在現(xiàn)實(shí)生活中我們遇到的好多圖像或多或少都存在質(zhì)量下降問題,對(duì)圖像復(fù)原技術(shù)的研究最終歸可結(jié)為對(duì)退化圖像的點(diǎn)擴(kuò)散函數(shù)的研究。目前國內(nèi)外出現(xiàn)了多種估計(jì)運(yùn)動(dòng)模糊點(diǎn)擴(kuò)散函數(shù)的算法;文獻(xiàn)[1-2]中MasayukiTanaka提出運(yùn)動(dòng)模糊圖像點(diǎn)擴(kuò)散函數(shù)確定方法是:先構(gòu)造出一個(gè)可以調(diào)節(jié)的三維鋸齒波形作為進(jìn)行檢測的函數(shù),然后把檢測后的函數(shù)與模糊圖像頻譜進(jìn)行運(yùn)算,在運(yùn)算過程中進(jìn)行不斷改變波形的周期和退化圖像的頻譜角度,當(dāng)進(jìn)行多次操作后使得函數(shù)取最小值時(shí)可以認(rèn)為此時(shí)的角度就是暗條紋的角度。文獻(xiàn)[3-5]中Mohsen-EbrahimiMoghaddam提出的方法是采用Radon變換方法來確定,其步驟是首先得到模糊圖像的頻譜圖,然后對(duì)其進(jìn)行Radon變換,當(dāng)Radon變換到使得投影軸與頻譜圖中暗條紋相互垂直時(shí),然后求出Radon變換取得最大值時(shí)所對(duì)應(yīng)的方向,即確定點(diǎn)擴(kuò)散函數(shù)的方向。本文就是以勻速直線運(yùn)動(dòng)產(chǎn)生的模糊圖像為例,提出采用MATLAB7.0自帶的工具進(jìn)行手動(dòng)確定模糊參數(shù),此方法具有簡單靈活性,而且有很高的準(zhǔn)確性和穩(wěn)定性,從而推廣到非勻速直線運(yùn)動(dòng)中使用。
1 運(yùn)動(dòng)模糊圖像的頻譜特征分析
在MATLAB7.0環(huán)境下對(duì)其水平方向勻速直線運(yùn)動(dòng)產(chǎn)生模糊頻譜圖如圖1所示。
K1=fft2(double(mf));
M1=fftshift(K1);
N1=abs(M1);
P1=(N1-min(min(N1)))/(max(max(N1))-min(min(N1)))
*225;
subplot(1,2,2);
imshow(P1);
由于在實(shí)驗(yàn)過程中我們假定運(yùn)動(dòng)方向是水平的,運(yùn)動(dòng)長度L=32個(gè)像素,從圖1實(shí)驗(yàn)結(jié)果的頻譜圖中可以明顯的看出亮條紋,并且,這條亮條紋與水平方向是垂直的。
對(duì)于非水平方向運(yùn)動(dòng)模糊圖像頻譜圖如圖2所示。
圖2的實(shí)驗(yàn)結(jié)果是圖像運(yùn)動(dòng)方向與x軸之間有一定的角度,所以得到的亮條紋和X軸之間也存在著一定的角度。
2 勻速直線運(yùn)動(dòng)模糊方向和模糊長度的確定2.1 模糊方向的確定
在圖2的基礎(chǔ)上,通過多次實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)模糊圖像的角度發(fā)生變化時(shí),條紋也隨之改變,該亮條紋方向正好反映了運(yùn)動(dòng)模糊點(diǎn)擴(kuò)散函數(shù)的方向性。于是我們只要求出這條亮條紋的傾角就可以了;所以將求模糊角度的問題轉(zhuǎn)化為在平面上求一個(gè)三角形的角度問題;也就是下圖中所示的θ角的度數(shù)。
根據(jù)頻譜圖用MATLAB7.0自帶的作圖工具Show Plot Tools作出三條直線構(gòu)成一個(gè)三角形,然后在MATLAB7.0命令窗口中輸入函數(shù)ginput()來完成求解。用[x,y]=ginput(2),獲得兩點(diǎn)坐標(biāo),可以取好多個(gè)點(diǎn),再求平均值然后利用k=(y(2)-y(1))/(x(2)-x(1))得到斜率,按照上面步驟求出度數(shù)為θ=69.1°,理論值為θ=70°,基本上吻合。
2.2 模糊長度的確定
本文首先采用Matlab7.0做出運(yùn)動(dòng)模糊圖像的自相關(guān)圖,生成的自相關(guān)圖是一條曲線,具體如下圖4所示,在這條曲線上出現(xiàn)了一對(duì)比較明顯的負(fù)峰,并且方向朝下,通過多次實(shí)驗(yàn)結(jié)果顯示這兩負(fù)峰之間的距離L正好等于運(yùn)動(dòng)模糊長度的2倍。因此,只要能夠計(jì)算出這兩個(gè)負(fù)峰之間的距離就可以得出運(yùn)動(dòng)模糊長度L。
在圖4的自相關(guān)圖中利用matlab的Data Cursor工具可以測得兩負(fù)峰之間的坐標(biāo)分別為69與131,距離為62個(gè)像素點(diǎn),兩相關(guān)負(fù)峰間的距離等于運(yùn)動(dòng)模糊長度的2倍,因運(yùn)動(dòng)模糊的長度為31個(gè)像素,與理論值32個(gè)像素基本上吻合(比較精確)。
3 結(jié) 論
上面的實(shí)驗(yàn)結(jié)果基本上和理論值吻合,采用手動(dòng)的方法來確定勻速直線運(yùn)動(dòng)模糊圖像的點(diǎn)擴(kuò)散函數(shù),不但操作方法簡單靈活,而且具有很高的精確度和穩(wěn)定性。對(duì)于非勻速直線運(yùn)動(dòng)所造成的圖像模糊,在某種程度上可以近似看成是多個(gè)小段勻速直線運(yùn)動(dòng)合成的。所以可以將此方法推廣到非勻速直線運(yùn)動(dòng)模糊圖像的處理上。
參考文獻(xiàn)
[1]陳前榮,陸啟生,成禮智.運(yùn)動(dòng)模糊圖像點(diǎn)擴(kuò)散函數(shù)尺度鑒別[J].計(jì)算機(jī)工程與應(yīng)用,200(23):15-19.
[2]黎瑋.運(yùn)動(dòng)模糊圖像復(fù)原的參數(shù)估計(jì)與算法研究[D].合肥:安徽大學(xué),2011.
[3]賀衛(wèi)國,黎紹發(fā).勻速直線運(yùn)動(dòng)模糊長度的精確估計(jì)[J].計(jì)算機(jī)應(yīng)用,2005,25(6):1317-1320.
[4]張明謙.運(yùn)動(dòng)模糊圖像的運(yùn)動(dòng)參數(shù)估計(jì)及復(fù)原研究[D].成都:電子科技大學(xué),2009.
[5]楊文濤.分?jǐn)?shù)傅里葉變換在數(shù)字圖像處理中的應(yīng)用研究[D].武漢華中科技大學(xué)博士學(xué)位論文,2009,12(3):92-95.
[6]張德豐.MATLAB數(shù)字圖像處理[M].北京:機(jī)械工業(yè)出版社,2012,3.
[7]博格斯,馬科維奇.小波與傅里葉分析基礎(chǔ)[M].2版.芮國勝,康健,譯.北京:電子工業(yè)出版社,2010-2-1.