matlab利用生成的高斯模板,对图像进行操作

clear;
clc;
% 生成高斯模板
[x,y] = meshgrid([-3:3],[-3:3]);
sigma = 0.5;
h = exp(-(x.*x+y.*y)./(2*sigma^2))/(2*pi*sigma^2)
% 接着进行归一化处理
sumh = sum(h(:))
h = h/sumh;
% 模板已经生成,接下来开始模板处理图像
img = imread('lena.jpg');
[M,N] = size(img);
img = imnoise(img,'salt & pepper',0 ,0.02);
[hh,hw] = size(h);
H_size = floor(hh/2);
l_img = zeros(M+H_size*2,N+H_size*2);
l_img(H_size+1:H_size+M,H_size+1:H_size+N) = img;
new_img = zeros(M,N);
for i =1:M
    for j=1:N
%         下面这一步是精华
        t = l_img(i:i+hh-1,j:hw+j-1).*h;
        new_img (i,j) = sum(t(:));
    end
end
new_img = uint8(new_img);
figure,imshow(img)
figure,imshow(new_img)

在这里插入图片描述
看来降噪还是不太行,哈哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值