opencv 고 스 핵 생 성

[cpp] view plain copy print ?
Matlab:  
  • K = fspecial('gaussian',m,sigma);  
  • Mat gaussian_kernal(int dim,int sigma)
    {
    	int c = dim / 2;
    	Mat K(dim, dim, CV_32FC1);
    	//       
    	float s2 = 2.0 * sigma * sigma;
    	for(int i = (-c); i <= c; i++)
    	{
    		int m = i + c;
    		for (int j = (-c); j <= c; j++)
    		{
    			int n = j + c;
    			float v = exp(-(1.0*i*i + 1.0*j*j) / s2);
    			K.ptr<float>(m)[n] = v;
    		}
    	}
    	Scalar all = sum(K);
    	Mat gaussK;
    	K.convertTo(gaussK, CV_32FC1, (1/all[0]));
    	all = sum(gaussK);
    	return gaussK;
    }

    좋은 웹페이지 즐겨찾기