基于卡爾濾波的圖像除噪處理_第1頁
基于卡爾濾波的圖像除噪處理_第2頁
基于卡爾濾波的圖像除噪處理_第3頁
基于卡爾濾波的圖像除噪處理_第4頁
基于卡爾濾波的圖像除噪處理_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于卡爾曼濾波的圖像除噪處理摘要:圖像在采集和和傳輸?shù)倪^程中可能要受到外界的干擾,為了保證圖像信息的準(zhǔn)確性,除噪就顯得尤為重要。本文介紹的就是利用Matlab軟件使用卡爾曼濾波進(jìn)行圖像的除噪處理。關(guān)鍵詞:圖像除噪;Matlab;卡爾曼濾波一、引言目前大多數(shù)數(shù)字圖像系統(tǒng)中,輸入圖像都是采用先凍結(jié)再掃描方式將多維圖像變成一維電信號,再對其進(jìn)行處理、存儲、傳輸?shù)燃庸ぷ儞Q。最后往往還要再組成多維圖像信號,而圖像噪聲也將同樣受到這樣的分解和合成。在這些過程中電氣系統(tǒng)和外界影響將使得圖像噪聲的精確分析變得十分復(fù)雜。因此,我們需要對圖像進(jìn)行除噪,得到更準(zhǔn)確的圖像信息。一、Matlab2.1 簡介Matlab

2、是美國MathWorks公司推出的數(shù)學(xué)軟件,是一種面向工程和科學(xué)計(jì)算的交互式計(jì)算軟件。主要用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析、以及數(shù)值計(jì)算,但是由于Matlab擁有許多的附加工具箱,因此它也可以應(yīng)用到其他領(lǐng)域,譬如:圖像處理、信號檢測、音頻分析以及金融建模和分析等等。2. 2 Matlab在圖像處理中的應(yīng)用(1) 圖像文件格式的讀寫和顯示。MATLAB提供了圖像文件的讀入函數(shù)imread(),用來讀取,如:bmp、jpg、hdf等格式的圖像文件;圖像寫出函數(shù)為imwrite(),以及圖像顯示函數(shù)image()、imshow()等。(2) 圖像處理的基本運(yùn)算。MATLAB提供了圖像的和、差等線性

3、運(yùn)算,以及卷積、濾波等非線性運(yùn)算。(3) 圖像變換。MATLAB提供了一維和二維離散傅里葉變換(DFT)、快速傅里葉變換(FFT)、離散余弦變換(DCT)以及連續(xù)小波變換(CWT)等等。(4) 圖像的分析和增強(qiáng)。為了能對圖像進(jìn)行處理,MALTAB針對圖像的統(tǒng)計(jì)計(jì)算提供了校正、中值濾波、直方圖均衡、對比度調(diào)整以及自適應(yīng)濾波等。2.3.均方誤差(MSE)在相同測量條件下進(jìn)行的測量稱為等精度測量,例如在同樣的條件下,用同一個游標(biāo)卡尺測量銅棒的直徑若干次,這就是等精度測量。對于等精度測量來說,還有一種表示誤差的方法,就是標(biāo)準(zhǔn)誤差。標(biāo)準(zhǔn)誤差定義為各測量值的平方值的平方根,故又稱為均方誤差。設(shè)n個測量值的

4、誤差為,則這組測量值的標(biāo)準(zhǔn)誤差等于:數(shù)理統(tǒng)計(jì)中均方誤差是指參數(shù)估計(jì)值與參數(shù)真值之差平方的期望值,記為MSE。2.4 峰值信噪比PSNR(Peak Signal to Noise Ratio)表示的是到達(dá)噪聲比率的頂點(diǎn)信號,PSNR一般是用于最大值信號和噪聲之間的工程項(xiàng)目。為了衡量經(jīng)過處理后的圖像品質(zhì),我們通常會參考PSNR值來認(rèn)定某個處理程序是否有效,或者說是處理的效果是怎么樣的。Peak就是8bits表示法的最大值255,MES指的是Mean Square Error(均方誤差,各值相差的n次方的平均值)。PSNR的計(jì)算公式如下:I是指原始圖像第n個pixel值,P是指處理后的圖像第n個pi

5、xel值。PSNR的單位為db,所以PSNR的值越大,就代表失真越少。3、 卡爾曼濾波3.1卡爾曼濾波的特點(diǎn)卡爾曼濾波是用狀態(tài)空間法描述系統(tǒng)的,有狀態(tài)方程和量測方程組成??柭鼮V波是用一個狀態(tài)的估計(jì)值和最近一個觀測數(shù)據(jù)來估計(jì)狀態(tài)變量的當(dāng)前值,并以狀態(tài)變量的估計(jì)值的形式給出??柭鼮V波具有以下的特點(diǎn);(1) 算法是遞推的;(2) 卡爾曼濾波使用于非平穩(wěn)過程;(3) 卡爾曼濾波采取的誤差準(zhǔn)則仍為估計(jì)誤差的均方值最小。3.2 狀態(tài)方程和量測方程假設(shè)某系統(tǒng)k時刻的狀態(tài)變量為,狀態(tài)方程和量測方程可以表示為: 其中,k表示時間,指的是第k步迭代時相應(yīng)信號的取值;輸入信號是一白噪聲,輸出信號的觀測噪聲也是一

6、個白噪聲;A表示狀態(tài)變量之間的增益矩陣,表示第k步迭代時,增益矩陣A的取值;C表示狀態(tài)變量與輸出信號之間的增益矩陣,第k步迭代時取值用表示。3.3卡爾曼濾波的遞推算法當(dāng)不考慮觀測噪聲和輸入信號時,狀態(tài)方程和量測方程為: 由于不考慮觀測噪聲的影響,輸出信號的估計(jì)值與實(shí)際值是有誤差的,用表示: 為了提高狀態(tài)估計(jì)的質(zhì)量,用輸出信號的估計(jì)誤差來校正狀態(tài)變量: 其中,為增益矩陣(實(shí)質(zhì)上是一個加權(quán)矩陣)。經(jīng)過校正后的狀態(tài)變量的估計(jì)誤差以及其均方差分別用和表示,卡爾曼濾波要求狀態(tài)變量的估計(jì)誤差的均方差為最小,而且卡爾曼濾波的關(guān)鍵就是計(jì)算出加權(quán)矩陣的最佳值。把未經(jīng)校正的狀態(tài)變量的估計(jì)誤差的均方差用表示: 4、

7、 MATLAB仿真與分析4.1 原理 基于MATLAB平臺設(shè)計(jì)卡爾曼濾波器對一張.jpg圖片進(jìn)行除噪處理,先導(dǎo)入一張圖片,然后依次給圖片加高斯白噪聲和椒鹽噪聲,再利用卡爾曼濾波器除噪。除噪之后利用Matlab輸出除噪前后的均方誤差和峰值信噪比。源程序:%1.顯示原圖中分別加入椒鹽噪聲和高斯白噪聲clear;close all;mine = imread(C:UsersyueruiDesktophzw.jpg); %讀取圖像show_size = size(mine); %顯示圖像尺寸mine_noise1 = imnoise(mine,salt & pepper,0.05); %給圖像加椒鹽噪

8、聲mine_noise2 = imnoise(mine,gaussian,0.05); %對給定圖像加高斯白噪聲figure(1);subplot(1,3,1);imshow(mine); title(原圖); %顯示加椒鹽噪聲圖像subplot(1,3,2);imshow(mine_noise1); title(椒鹽噪聲(0.05); %顯示加椒鹽噪聲圖像subplot(1,3,3);imshow(mine_noise1); title(高斯白噪聲(0.05);%顯示加高斯白噪聲圖像 %2.設(shè)計(jì)一個卡爾曼濾波器分別處理兩種含噪圖像r1,c1,m = size(mine_noise1);r2,

9、c2,n = size(mine_noise2);mine_noise1 = double(mine_noise1)/255; %int轉(zhuǎn)化成double類型mine_noise2 = double(mine_noise2)/255; %int轉(zhuǎn)化成double類型P = 2; %先驗(yàn)誤差估計(jì)協(xié)方差初始值Q = 0.25; %過程白噪?yún)f(xié)方差 R = 0.25; %觀測白噪?yún)f(xié)方差A(yù) = 2; %系統(tǒng)矩陣H = 1; %觀測矩陣X = mine_noise1(1,:,:); %讀取加噪圖像第一行Y = mine_noise1(1,:,:); mine_alter1 = zeros(r1,c1,m)

10、;mine_alter2 = zeros(r2,c2,n);mine_alter1(1,:,:) = X;mine_alter2(1,:,:) = Y;for K = 2:r1 X = A * X; %X(k|k-1) = A X(k-1|k-1) + B U(k) P = A * P * A + Q; %P(k|k-1) = A P(k-1|k-1) A+ Q Kg = P * H/(H * P * H + R);%Kg(k) = P(k|k-1) H / (H P(k|k-1) H + R) X = X + Kg * (mine_noise1(K - 1,:,:) - H * X); %X

11、(k|k) = X(k|k-1) + Kg(k)(Z(k) - H X(k|k-1) P = (1 - Kg * H) * P; %P(k|k) =(I - Kg(k) H)P(k|k-1) mine_alter1(K,:,:) = X; %保存像素值endfor K = 2:r2 X = A * Y; %X(k|k-1) = A X(k-1|k-1) + B U(k) P = A * P * A + Q; %P(k|k-1) = A P(k-1|k-1) A+ Q Kg = P * H/(H * P * H + R); %Kg(k) = P(k|k-1) H / (H P(k|k-1) H

12、+ R) Y = Y + Kg * (mine_noise2(K - 1,:,:) - H * Y); %X(k|k) = X(k|k-1) + Kg(k)(Z(k) - H X(k|k-1) P = (1 - Kg * H) * P; %P(k|k) =(I - Kg(k) H)P(k|k-1) mine_alter2(K,:,:) = Y; %保存像素值endfigure(2);subplot(1,3,1);imshow(mine_alter1);subplot(1,3,2);imshow(mine_alter2); %3.求除噪前后圖像的均方差和峰值信噪比signal=0;for i=1

13、:r1 for j=1:c1 signal=signal+(mine_alter1(i,j)-mine_noise1(i,j)2; endend mse1=(signal/(r1*c1)psnr1=10*log(2552)/mse1)for i=1:r1 for j=1:c1 signal=signal+(mine_alter1(i,j)-mine_noise1(i,j)2; endendmse2=(signal/(r2*c2)psnr2=10*log(2552)/mse2)4.2實(shí)驗(yàn)結(jié)果 (1) 加入均值為0、方差為0.05的椒鹽噪聲和高斯白噪聲: 圖4.1仿真結(jié)果(2)除噪前后的峰值信噪比

14、以及均方誤差 加入噪聲類型峰值信噪比(PSNR)均方誤差(MSE)方差為0.05的椒鹽噪聲137.85890.0670方差為0.05的高斯白噪聲130.92740.1340表4.1除噪后的峰值信噪比以及均方誤差4.3分析 從圖4.1以及表4.1可以看出,卡爾曼濾波器可以對圖像進(jìn)行除噪處理,而且處理椒鹽噪聲的效果要比處理高斯白噪聲的好,說明卡爾曼濾波器對椒鹽噪聲有更好的抑制作用。五、結(jié)束語本文通過MATLAB軟件成功的實(shí)現(xiàn)了卡爾曼濾波的圖像除噪處理。在數(shù)字圖像處理領(lǐng)域,對于圖像除噪處理技術(shù)的研究具有十分重要的作用。本文最終的除噪效果并不十分理想,只可以去掉部分的噪聲,尤其是圖像的邊緣部分的噪聲的處理就不是很好。參考文獻(xiàn)1丁玉美,高西全.數(shù)字信號處理M.西安:西安電子科技大學(xué)出版社,2001.2張宏偉.基于MATLAB的圖像去噪方法的研究與實(shí)現(xiàn)J.大慶師范學(xué)院報,2016(3):01-04.3馮剛,呂茂庭,覃天.基于MATLAB的卡爾曼濾波仿真研究J.計(jì)算機(jī)科學(xué)與技術(shù),2011(12):1672-5468.4豈興明,王占富,郭正彪,矯津毅.MATLAB7.0程序快速入門M.北京:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論