实验目的:
1. 自己编程实现均值滤波器和中值滤波器
2.对比两种滤波器对高斯噪声和椒盐噪声的去除效果
实验总结:
1. dX(i:i+(N-1)/2,j:j+(N-1)/2)=sum(sum( X(i:i+(N-1),j:j+(N-1)) ))/(N*N);
dX(i:i+(N-1)/2,j:j+(N-1)/2) ------为左值,取的是一个点
X(i:i+(N-1),j:j+(N-1))------为右值,取的是一个矩阵
2. s=temp(:);
temp为一个二维矩阵,temp(:) 表示将二维矩阵转为向量,转换时是按列转换,也就是将第二列补到第一列后面,依次类推
3.MATLAB中在同一个.m文件中定义多个函数需注意:
- 一个.m文件中只能有一个主函数,且主函数在开头
- 嵌套定义:注意变量重名问题,内层函数可以使用外层函数的变量,而外层函数不能使用内层函数的变量。
也就是一个变量的工作区间为该变量所在的函数,在函数外该变量无效。 - 非嵌套定义:每个函数都有自己的工作范围,以function标识函数开始(也叫打开函数),end标识函数结束(也叫关闭函数),
若没有end标识则会报错,与嵌套定义混淆。
嵌套定义举例:
function main
%% 外层函数读入原图
figure('name