⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aver_filter.m

📁 关于偏微分方程进行图像处理的电子书,对于学习动态轮廓实现图像的分割非常有用
💻 M
字号:
function aver_filter( Image_name,N,out_filename )
%非线性平滑滤波器G1   平均
%输入参数   文件名   N为模板大小(正奇数)
%读取图像-------------
if nargin<3
    disp('输入参数错误!!!');
    return;
end

image=imread(Image_name);
if isrgb(image)
    image=rgb2gray(image);
end

% 图像扩展--------------
[size_m,size_n]=size(image);
image_ex=zeros(size_m+N-1,size_n+N-1);
% 赋值
for row=1:size_m
    for col=1:size_n 
            image_ex(row+(N-1)/2,col+(N-1)/2)=image(row,col);
    end
end
% 对每个象素------------------
pattern_plate=zeros(N,N);       %模板
image_new=zeros(size_m,size_n); %滤后图像矩阵
  
  for row=1:size_m
        for col=1:size_n
                 % 取模板的元素
                 for row_p=1:N
                        for col_p=1:N
                               pattern_plate(row_p,col_p)=image_ex(row+row_p-1,col+col_p-1);   
                        end
                 end
                 % 求模板的平均值得滤后图像矩阵                             
                 image_new(row,col)=mean2(pattern_plate);              
        end
  end
% 输出---------------

imshow(image_new,[]);
title('滤后图像');
imwrite( uint8(image_new),out_filename ) 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -