資源簡介
代碼是數學建模的時候找的,可以直接運行,里面有兩段代碼和一張圖片,可以自己去更改測試,希望能夠幫到大家。

代碼片段和文件信息
clear;clc
%?參考資料:http://blog.csdn.net/bluecol/article/details/47359421
%?參考數字圖像處理(第三版)?岡薩雷斯?英文版公式(5.9-4)
%?約束最小二乘方濾波約束最小二乘方復原方法主要是針對有約束退化模型而言的,
%?這種圖像復原方法只需有關噪聲均值和方差的知識就能夠對每一幅給定的圖像進行
%?復原就以得到最優的效果。但有時該方程的解振蕩的非常厲害。
I?=?im2double(imread(‘C:\Users\Administrator\Desktop\imread.png‘));
tic
[mn~]?=?size(I);
subplot(131)imshow(I);
title(‘原圖‘);
%?Simulate?a?motion?blur?and?additive?noise.
LEN?=?20;
THETA?=?30;
PSF?=?fspecial(‘motion‘?LEN?THETA);
blurred?=?imfilter(I?PSF?‘conv‘?‘circular‘);%?生成運動模糊圖像
%?psf2otf是把一個空間點擴散函數轉換為頻譜面的光學傳遞函數,其轉換過程也是
%?一個二維的傅里葉變換。不過與fft2有區別
%?psf2otf和fft2的區別:http://blog.csdn.net/bluecol/article/details/48288739
H?=?psf2otf(PSF[mn]);%?退化函數H(uv)
noise_mean?=?0;%?噪聲均值
noise_var?=?0.00001;%?噪聲方差
blurred_noisy?=?imnoise(blurred‘gaussian‘...
????noise_mean?noise_var);%?加噪的運動模糊圖像
subplot(132)?imshow(blurred_noisy)
title(‘模糊退化且添加高斯噪聲的圖像‘)
%?restoration?using??Home?Made?Constrained?Least?Squares?Filtering.
p?=?[0?-1?0;-1?4?-1;0?-1?0];%?拉普拉斯算子
P?=?psf2otf(p[mn]);%?對拉普拉斯算子做傅立葉變換
gama?=?0.001;%?公式里左邊分式分母的一個參數
G?=?fft2(blurred_noisy);%?對模糊圖像做傅立葉變換
numerator?=?conj(H);%公式里左邊分式的分子,也就是H(uv)的共軛
denominator?=?H.^2?+?gama*(P.^2);%公式里左邊分式的分母
deblurred2?=?ifft2(numerator.*G./denominator);%?再從頻域變換回時域注意此處是點除
subplot(133)?imshow(deblurred2)
title(‘約束最小二乘復原圖‘);
toc
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1676??2018-04-15?12:03??demo\CLSFilter.m
?????文件??????263222??2013-11-16?21:11??demo\testimg.jpg
?????文件????????1619??2018-04-15?12:04??demo\WienerFilter.m
評論
共有 條評論