Implementation of Gaussian filter
2011-08-24 02:48
183 查看
代码片段,留作日后用。
vector<double> GaussianFilter(const vector<double> data, double standard_deviation, int filterlength) { //length of data int length = data.size(); //position array of filter elements int* position = new int[filterlength]; int middle = filterlength/2; for(int i = 0; i <filterlength; i++) { position[i] = i - middle; } long double* gaussianCoeffiecients = new long double[filterlength]; long double temp1 = 1/sqrt(2* PI * square(standard_deviation)); long double temp2 = 2 * square(standard_deviation); for(int i = 0; i <filterlength ; i++) { gaussianCoeffiecients[i] = temp1* exp(-square(position[i])/temp2); } //initilise result vector to be the same length vector<double> result(length); for (int i = 0 ; i < length; i++) { double temp = 0.0; if(i < middle) { for(int j = middle - i ; j < filterlength; j++) { temp += data[i - middle + j] * gaussianCoeffiecients[j]; } } else if(i >= middle; i <= length - 1 - middle) { for(int j = 0; j < filterlength; j++) { temp += data[i-middle+j]* gaussianCoeffiecients[j]; } } else if (i > length - middle - 1) { int lastfilterelement = middle + difference(length,i)- 1; for(int j = 0; j < lastfilterelement; j++) { temp += data[i-middle+j]* gaussianCoeffiecients[j]; } } else {//Not Possiable } result[i] = temp; } //memory clean up delete[] gaussianCoeffiecients; delete[] position; //return result array return result; }
相关文章推荐
- Recursive implementation of the Gaussian filter
- Recursive implementation of the Gaussian filter[翻译]
- Retinal vessel extraction by matched filter with first-order derivative ofGaussian
- 高斯滤波/高斯平滑/高斯模糊的实现及其快速算法(Gaussian Filter, Gaussian Smooth, Gaussian Blur, Fast implementation)
- 高斯滤波/高斯平滑/高斯模糊的实现及其快速算法(Gaussian Filter, Gaussian Smooth, Gaussian Blur, Fast implementation)
- Dynamic Partial Reconfiguration 3 Implementation of Audio Filter on Virtex-5
- This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms
- Scala Java Error: value filter is not a member of *
- The given filter instance must implement one or more of the following filter interfaces
- Machine Learning—Mixtures of Gaussians and the EM algorithm
- implementation of Vector (using C++)
- Demo of Python "Map Reduce Filter"
- Asymptotic Behaviors of Support Vector Machines with Gaussian Kernel的几个结论
- How to define Servlet filter order of execution using annotations
- 高斯拉普拉斯(Laplace of Gaussian)
- Machine Learning(2)Estimate the probability density -- Mixture of Gaussians
- Linux_TCP_SQLite3: Implementation of a small embedded system including receiving and saving data.
- the principle of wiener filter
- 高斯平滑 高斯模糊 高斯滤波器 ( Gaussian Smoothing, Gaussian Blur, Gaussian Filter ) C++ 实现
- best strategies for implementation of equals() and hashcode() in your persistent classes