低通空间滤波器

概念

图像是平滑、锐化都是利用掩模操作完成,通过掩模操作实现领域计算。掩模运算的数学含义是卷积(互相关)运算,掩模子图像中的值是系数值而不是灰度值。
空间滤波器:由一个领域对领域包围的图像执行预定义的像素操作。
要建立新的存储空间存储滤波后的像素值,不改变原图像,否则会影响后面的滤波结果。
对于边界的像素值无法进行滤波,要考虑边界像素值的处理。

低通空间滤波器

低通空间滤波器
相关:滤波器模板移过图像并计算每个位置乘积之和的处理。
卷积:机理相似,但滤波器先要旋转180度。
低通空间滤波器
实际上卷积用得很少,基本都是相关的应用,所谓卷积**很多只是借用了这个名字。不需要区分卷积和相关的差别。

; 平滑空间滤波器

用于模糊处理和降低噪声。

平滑线性滤波器(盒式滤波器)

低通空间滤波器
低通空间滤波器
低通空间滤波器

统计排序滤波器(中值滤波器)

主要用于处理椒盐噪声,窗口尺寸和形状对效果影响较大,如果图像中有比较尖锐的细节,不适合用中值滤波器。

低通空间滤波器
低通空间滤波器
低通高斯滤波器
盒式滤波器往往会沿着垂直方向模糊图像,对于更精细的图像,选择高斯核,圆对称,各向同性。
低通空间滤波器
由均值和标准差完全定义一个高斯函数,大于六个标准差的时候没有意义,数据基本已经集中到3个标准差以内了。
低通空间滤波器
1.建立n*n模板,确立标准差(标准差越大,平滑效果明显), 以模板的中心位置为坐标原点代入高斯函数取样。注意高斯函数是高度对称的,只要计算部分的点即可。
2.取整,归一化处理。
clear;
image=imread("sample.jpeg");
image=im2double(image);
image_pol=imnoise(image,'gaussian',0.3); %加噪声
image_new=gauss_bulr(5,7,image_pol);
%matlab函数
w=fspecial('gaussian',[5,5],7);
image_matlab=imfilter(image_pol,w,'replicate');
%%
%图像显示
figure(1);
subplot(221);
imshow(image);
title('原始图像')

subplot(222);
imshow(image_pol);
title('污染图像0.3')

subplot(223);
imshow(image_new);
title('手写函数图像')

subplot(224);
imshow(image_matlab);
title('matlab自带函数图像')
%%
%size应该为3|5|7
function f=gauss_bulr(fsize,var,image)
conv=zeros(fsize,fsize);
center=(fsize-1)/2+1;
for i=1:fsize        %高斯核
    for j=1:fsize

        temp=exp(-((i-center)^2+(j-center)^2)/(2*var^2));
        temp=temp/2*3.14*var^2;
        conv(i,j)=temp;

    end
end
c=sum(conv,'all');
conv=conv/c;%归一化

%边缘处理,方案一:保留原值不处理,当窗口比较小的时候3.5.效果还行,当窗口大7会有毛边
%方案二:扩充图像形成一个中心图像,根据N增加边缘行和列,使得原图像中所有的点都可以处于算子的中心
%%
%方案一:
[rows,cols]=size(image);
image_new=image;
for m=center:rows-center
    for n=center:cols-center
        I1=image(m-center+1:m+center-1,n-center+1:n+center-1);
        I2=I1.*conv;
        image_new(m,n)=sum(I2,'all');
    end
end

f=image_new;
 end

Original: https://blog.csdn.net/JHFUSFLSJH/article/details/120752567
Author: Find–o
Title: 低通空间滤波器

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/645615/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球