matlab图像复原

目录

1. 频谱噪声分析

在进行图像复原之前,首先对各个图像做傅里叶变换在频谱中观察分布情况,由此判断噪声或模糊类型。

i1=imread('1.png');
i2=imread('2.jpg');
i3=imread('3.jpg');
i4=imread('statBlur.jpg');
o1=fftshift(fft2(rgb2gray(i1)));o2=fftshift(fft2(rgb2gray(i2)));
o3=fftshift(fft2(rgb2gray(i3)));o4=fftshift(fft2(rgb2gray(i4)));
figure,subplot(221),imshow(i1),subplot(222),imshow(o1),subplot(223),imshow(i2),...?????
subplot(224),imshow(o2);
figure,subplot(221),imshow(i3),subplot(222),imshow(o3),subplot(223),imshow(i4),...?????
subplot(224),imshow(o4);

这里写图片描述

2. 四幅图像分别处理

首先分析佛像图像是否具有噪声,在图像中较为平坦均匀出选取矩形,做直方图处理,观察直方图的分布来确
定是否含有噪声以及噪声的类型。

im=imread('statBlur.jpg');[m,n,h]=size(im);
f11=ones(190,162,3);f22=ones(130,130,3);f33=ones(100,100,3);f44=ones(70,70,3);
for i=1:190
    for j=1:162
        for k=1:3
            f11(i,j,k)=im(i,j,k);
        end
    end
end


for i=1:130
    for j=501:630
        for k=1:3
            f22(i,j-500,k)=im(i,j,k);
        end
    end
end

for i=721:870
    for j=11:170
        for k=1:3
            f33(i-720,j-10,k)=im(i,j,k);
        end
    end
end

for i=761:830 
    for j=561:630
        for k=1:3
f44(i-760,j-560,k)=im(i,j,k);
        end
    end
end
figure,subplot(221),hist(f11,100),subplot(222),hist(f22,100),subplot(223),...?
hist(f33,100),subplot(224),hist(f44,100);

3.大气湍流处理

函数代码如下:

function output=daqituan( image ,k)
k=0.00011
%函数daqituan?对输入的图像进行大气湍流处理?
%参数image????输入的待处理图像?
%参数k????????大气湍流模型常数
i=fft2(double(image));
G=fftshift(i);
[m,n,h]=size(i);
H=zeros(m,n);
for i=1:m
    for j=1:n
if sqrt((i-m/2)^2+(j-n/2)^2)<100
    H(i,j)=exp(-k*(i^2+j^2)^(5/6));
end
    end
end

for i=1:3
out
(:,:,i)=G(:,:,i).*H;
end
out=real(ifft2(ifftshift(out)));
figure,subplot(121),imshow(image),title('原始图像'),subplot(122),...?????
    imshow(out,[]),title('大气湍流复原图像');
end

参考资料

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值