资源简介
这是一个用matlab编写的TV去噪程序 附带有图片, 效果很好,共享一下

代码片段和文件信息
function Ig=gauss(Ikssigma2)
%%% 子函数: Ig = gauss(Ikssigma2)实现高斯平滑滤波
%%% 参数说明:
%%% I - 待平滑图像
%%% ks - 高斯核大小 (奇数)
%%% sigma2 - 高斯函数的方差
%%% Ig - 返回的高斯平滑后的图像
[NyNx]=size(I);
hks=(ks-1)/2; % 高斯核的一半
%%- 一维卷积
if (Ny x=(-hks:hks);
flt=exp(-(x.^2)/(2*sigma2)); % 一维高斯函数
flt=flt/sum(sum(flt)); % 归一化
%%- 扩展
x0=mean(I(:1:hks)); xn=mean(I(:Nx-hks+1:Nx));
eI=[x0*ones(Nyks) I xn*ones(Nyks)];
Ig=conv(eIflt);
Ig=Ig(:ks+hks+1:Nx+ks+hks); % 截尾
else
%%- 二维卷积
x=ones(ks1)*(-hks:hks); y=x‘;
flt=exp(-(x.^2+y.^2)/(2*sigma2)); % 二维高斯函数
flt=flt/sum(sum(flt)); % 归一化
%%- 扩展
if (hks>1)
xL=mean(I(:1:hks)‘)‘; xR=mean(I(:Nx-hks+1:Nx)‘)‘;
else
xL=I(:1); xR=I(:Nx);
end
eI=[xL*ones(1hks) I xR*ones(1hks)];
if (hks>1)
xU=mean(eI(1:hks:)); xD=mean(eI(Ny-hks+1:Ny:));
else
xU=eI(1:); xD=eI(Ny:);
end
eI=[ones(hks1)*xU; eI; ones(hks1)*xD];
Ig=conv2(eIflt‘valid‘);
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-12-08 22:30 TV去噪\
文件 1168 2009-06-03 22:55 TV去噪\gauss.m
文件 66614 2003-05-05 23:22 TV去噪\lenna.bmp
文件 38 2009-06-17 12:56 TV去噪\Readme.txt
文件 1599 2012-11-22 16:20 TV去噪\TV_upwind_gray.m
相关资源
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
- k近邻算法matlab实现
- matlab识别系统
评论
共有 条评论