一分钟了解“Matlab实现max-mean滤波”
来源:互联网 发布:测绘数据泄密案例 编辑:程序博客网 时间:2024/05/22 14:41
function result_maxmean=maxMeanFunc(im,patch_size)
%
% Depeng Liu
% Chongqing University
%
if( mod(patch_size,2)==0 ) %if
error('模版大小必须为奇数');
end %if
result_maxmean=999*ones(size(im));
im2=padarray(im,[patch_size patch_size],'symmetric','both');%根据模版的大小扩展一下原图
half_patch_size=(patch_size-1)/2;
for num_row=patch_size+1:1:size(im2,1)-patch_size %num_row
for num_column=patch_size+1:1:size(im2,2)-patch_size %num_column
liedequzhimen=num_column-half_patch_size:num_column+half_patch_size;%列号在变化
yihangdezhongzhi=mean( im2(num_row,liedequzhimen) ); %所以结果是一行的中值
hangdequzhimen=num_row-half_patch_size:num_row+half_patch_size;%行号在变化
yiliedezhongzhi=mean( im2(hangdequzhimen,num_column) );%所以结果是一列的中值
zhuzhoudezhongzhi=mean( diag( im2(hangdequzhimen,liedequzhimen)) );%这是主轴的中值
dangqiankuai= im2(hangdequzhimen,liedequzhimen);
dangqiankuaidefuzhuzhou=[];
for dangqianxiexuhao=1:patch_size %for1
dangqiankuaidefuzhuzhou= [dangqiankuaidefuzhuzhou,dangqiankuai(dangqianxiexuhao,patch_size+1-dangqianxiexuhao)] ;
end %for1
fuzhoudezhongzhi=mean( dangqiankuaidefuzhuzhou );%这是副轴的中值
result_maxmean(num_row-patch_size,num_column-patch_size)=im2(num_row,num_column)-max([yihangdezhongzhi,yiliedezhongzhi,zhuzhoudezhongzhi,fuzhoudezhongzhi]);
end %num_column
end %num_row
end %function
%
% Depeng Liu
% Chongqing University
%
if( mod(patch_size,2)==0 ) %if
error('模版大小必须为奇数');
end %if
result_maxmean=999*ones(size(im));
im2=padarray(im,[patch_size patch_size],'symmetric','both');%根据模版的大小扩展一下原图
half_patch_size=(patch_size-1)/2;
for num_row=patch_size+1:1:size(im2,1)-patch_size %num_row
for num_column=patch_size+1:1:size(im2,2)-patch_size %num_column
liedequzhimen=num_column-half_patch_size:num_column+half_patch_size;%列号在变化
yihangdezhongzhi=mean( im2(num_row,liedequzhimen) ); %所以结果是一行的中值
hangdequzhimen=num_row-half_patch_size:num_row+half_patch_size;%行号在变化
yiliedezhongzhi=mean( im2(hangdequzhimen,num_column) );%所以结果是一列的中值
zhuzhoudezhongzhi=mean( diag( im2(hangdequzhimen,liedequzhimen)) );%这是主轴的中值
dangqiankuai= im2(hangdequzhimen,liedequzhimen);
dangqiankuaidefuzhuzhou=[];
for dangqianxiexuhao=1:patch_size %for1
dangqiankuaidefuzhuzhou= [dangqiankuaidefuzhuzhou,dangqiankuai(dangqianxiexuhao,patch_size+1-dangqianxiexuhao)] ;
end %for1
fuzhoudezhongzhi=mean( dangqiankuaidefuzhuzhou );%这是副轴的中值
result_maxmean(num_row-patch_size,num_column-patch_size)=im2(num_row,num_column)-max([yihangdezhongzhi,yiliedezhongzhi,zhuzhoudezhongzhi,fuzhoudezhongzhi]);
end %num_column
end %num_row
end %function
阅读全文
0 0
- 一分钟了解“Matlab实现max-mean滤波”
- 一分钟了解“Matlab实现max-median滤波”
- 一分钟了解“MATLAB对图像进行均值滤波”
- 一分钟了解“MATLAB对图像任意mask滤波”
- 一分钟了解“Matlab实现tophat变换”
- LMS(least mean square)自适应滤波算法matlab实现
- 一分钟了解“Matlab中求散度函数divergence”
- 一分钟了解“Matlab绘图三维数据”
- 一分钟了解“Matlab的squeeze函数”
- 一分钟了解"matlab进行特征值分解"
- 一分钟了解"matlab用meshgrid实现for循环的遍历功能"
- 一分钟了解“matlab实现用对话框手选的方式打开文件”
- matlab实现滑动平均滤波(一)
- 一分钟了解“如何用Matlab求图像梯度”
- 一分钟了解““Matlab产生随机整数randi””
- 一分钟了解“Matlab矩阵 [~,a,b,c]的~是什么意思”
- 一分钟了解“Matlab中ismember函数的用法”
- 一分钟了解”Matlab打印出文字信息fprintf”
- Linux ubuntu 安装MySql
- Spring-Boot初学之配置文件application.properties(数据源配置)
- leetcode题解-206. Reverse Linked List
- 将博客搬至CSDN
- Linux下的静态库与动态库
- 一分钟了解“Matlab实现max-mean滤波”
- kaldi安装编译
- html嵌套规则
- 类之间相同字段值传递工具(反射机制)
- Android自定义View实现滴滴验证码输入框效果
- java经典书籍推荐
- struts2 简单数据验证
- hdoj1099 Lottery(简单的数学问题变相考察最小公倍数)
- int字长