资源简介
nl-means算法及fast nl-means matlab
代码片段和文件信息
#include “mex.h“
#include “math.h“
#include “string.h“
/* undef needed for LCC compiler */
#undef EXTERN_C
/* Multi-threading libraries */
#ifdef _WIN32
#include
#include
#else
#include
#endif
__inline double pow2(double a) { return a*a; }
double * gaussian_kernel_2D(int kernelratio){
/* Create the Gaussian 2D kernel */
int kernelsize npixels x y i j p;
double sumK sigma *K;
kernelsize=kernelratio*2+1;
sigma=((double)kernelsize)/4.0; p=0;
npixels=kernelsize*kernelsize;
K=(double*)malloc(npixels*sizeof(double));
for (i=0; i for (j=0; j x=i-kernelratio; y=j-kernelratio;
K[p] = exp(-((pow2(x)+pow2(y))/(2.0*pow2(sigma))));
p++;
}
}
/* Normalize kernel */
sumK=0; for(i=0; i for(i=0; i return K;
}
double * gaussian_kernel_3D(int kernelratio) {
/* Create the Gaussian 3D kernel */
int kernelsize npixels x y z i j k p;
double sumK sigma *K;
kernelsize=kernelratio*2+1; sigma=((double)kernelsize)/4.0; p=0;
npixels=kernelsize*kernelsize*kernelsize;
K=(double*)malloc(npixels*sizeof(double));
for (i=0; i for (j=0; j for (k=0; k x=i-kernelratio; y=j-kernelratio; z=k-kernelratio;
K[p] = exp(-((pow2(x)+pow2(y)+pow2(z))/(2.0*pow2(sigma)))); p++;
}
}
}
/* Normalize kernel */
sumK=0; for(i=0; i for(i=0; i return K;
}
void get2Dvectors(double *I int *Isize double *V int *Vsize int kernelratio int *block double *K int ThreadID int Nthreads) {
int indexI indexI_part1 indexI_part2 indexI_part3;
int indexV=0;
int kernelsize;
int npixels2;
int C1;
int x y p;
int tz ik jk;
int block_size[2];
block_size[0]=block[2]-block[0]+1;
block_size[1]=block[3]-block[1]+1;
kernelsize=2*kernelratio+1;
C1=-(block[0]+block[1]*block_size[0])*Vsize[0];
npixels2=Isize[0]*Isize[1];
/* Loop through the block */
for(y=block[1]; y<=block[3]; y++) {
for(x=block[0]+ThreadID; x<=block[2]; x+=Nthreads) {
indexV=(x+y*block_size[0])*Vsize[0]+C1;
/* Get a patch*/
indexI_part1=0;
for(tz=0; tz p=0;
indexI_part3=(y-kernelratio)*Isize[0];
indexI_part2=x-kernelratio+indexI_part1;
indexI=indexI_part2+ indexI_part3;
for (jk=0; jk for (ik=0; ik V[indexV]=K[p]*I[indexI];
indexV++; indexI++;
p++;
}
indexI_p
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8859 2010-09-07 15:50 NLMF.m
文件 3510 2010-09-07 17:17 NLMF2Dtree.m
文件 12141 2010-04-28 18:48 image2vectors_double.c
文件 12162 2010-04-28 18:48 image2vectors_single.c
文件 10757 2005-09-26 17:08 lena.jpg
文件 1335 2010-09-07 12:05 license.txt
文件 15772 2010-04-28 18:48 vectors_nlmeans_double.c
文件 15724 2010-04-28 18:48 vectors_nlmeans_single.c
- 上一篇:GPS信号产生
- 下一篇:激光锁模技术matlab程序代码
相关资源
- matlab FastICA工具箱111010
- Fast ICA matlab源代码
- fastica工具箱
- fast ICA的Matlab代码
- matlab 实现fastica源代码
- fast ica matlab程序
- 用于解决复杂网络社区划分的FastNew
- FastIca盲源分离算法(Matlab编写)
- fastica的matlab实现
- matlab fastica工具箱
- 超强FastICA算法matlab程序+gui操作
- ICA算法和FASTICA算法
- rcnnPfast-rcnnPfaster-rcnn 物体分割
- fastlaplacemorian 压缩感知的几种算法算
- ica-matlab 脑电信号 分析 fast ica去噪
-
FRSR 实现文献‘Fast and robust multif
r - Fast-a-Robust-Super-Resolution(BTV)
- fastHOG3D--full-version 一个完整版
- [HHT]-fast-EMDEEMDCEEMD-with-ref 本压缩文件
- Fast-Kurtogram 快速谱峭度工具箱
- Fast-Kurtogram 轴承故障谱峭度分析
- 2014-Science-clustering 2014年发表在Scienc
- Fast Image Deconvolution using Hyper-Laplacian
- matlab开发-FastFFTFunction
- fastSLAM仿真MATLAB代码
- 用Faster Rcnn 训练自己的数据成功经验
- 快速独立分量分析的MATLAB源代码
评论
共有 条评论