资源简介
这是一个用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
相关资源
- MATLAB程序实现外推法、黄金分割法
- AHLOHA m=4二叉树冲突分解 matlab
- matlab傅里叶变换与反变换
- cholesky分解的matlab代码
- 粒子群PSO优化LSSVM的完整程序
- 基于Retinex理论的图像增强Matlab代码(
- jpeg图像压缩编解码程序
- 传染病模型 元胞自动机 matlab源码
- matlab模拟EKF滤波器
- 一种改进的DV-HOP算法matlab仿真代码
- matlab UKF 状态估计软件包
- matlab 正六边形随机撒点
- 迫零均衡MATLAB仿真程序
-
基于MATLAB_SIMUli
nk的交流电机调速系 - 相参串脉冲matlab
- 谱减法的matlab程序
- 修改后turbo系统 matlab 仿真代码 参考
- dv-hop算法的matlab原代码
- matlab 从TXT文件读出RGB图像内有TXT文件
- matlab gui经典
- NSGA-2 matlab
- 朴素贝叶斯算法在matlab中实现
- 流形学习工具包包括8种经典流形学习
- 期权蒙特卡洛模拟MATLAB代码
- matlab中用FFT实现线性卷积循环卷积
- 裸数据转成dicom图像格式
- mclmcrrt7_16.dll mclmcrrt7_16.rar
- ADPCM编解码Matlab程序
- 模式识别K-均值聚类法matlab实现程序
- 用于特征提取的matlab程序
评论
共有 条评论