边缘检测之loG算子

note

// 边缘检测之loG算子:对高斯函数求二阶导数

// G(x,y) = exp(-1 * (x*x + y*y) / 2 / sigma / sigma)

// loG(x,y) = ((x*x + y*y - 2 * sigma * sigma) / (sigma^4)) * exp(-1 * (x*x + y*y) / 2 / sigma /sigma)

/*

    [

        0,0,-1,0,0;

        0,-1,-2,-1,0;

        -1,-2,16,-2,-1;

        0,-1,-2,-1,0;

        0,0,-1,0,0;

    ]

*/

code

void SetloGKernel(Mat& kernel) {
	kernel = (Mat_(5,5) << 0,0,-1,0,0, 0,-1,-2,-1,0, -1,-2,16,-2,-1, 0,-1,-2,-1,0 ,0,0,-1,0,0);
}
void OprationloG(Mat& src, Mat& res) {
	Mat kernel;
	SetloGKernel(kernel);
	filter2D(src, res, src.type(), kernel);
}

test

边缘检测之loG算子_第1张图片

 

你可能感兴趣的:(图像处理,计算机视觉,c++)