int main(int /*argc*/, char** /*argv*/) {
Mat img, imgLaplacian, imgResult;
//------------------------------------------------------------------------------------------- test, first of all
// now do it by hand
img = (Mat_<uchar>(4, 4) << 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 11, 12, 13, 14, 15);
cout << img << endl;
// first, the good result
/*
src_gray: 输入图像。
dst: 输出图像
ddepth: 输出图像的深度。 因为输入图像的深度是 CV_8U ,这里我们必须定义 ddepth = CV_16S 以避免外溢。
kernel_size: 内部调用的 Sobel算子的内核大小,此例中设置为3。
scale, delta 和 BORDER_DEFAULT: 使用默认值。
*/
//Laplacian( src_gray, dst, ddepth, kernel_size, scale, delta, BORDER_DEFAULT );
Laplacian(img, imgLaplacian, CV_8UC1);
cout << "opencv laplacian" << endl;
cout << imgLaplacian << endl;
Mat kernel = (Mat_<float>(3, 3) <<
0, 1, 0,
1, -4, 1,
0, 1, 0);
int window_size = 3;
// now, reaaallly by hand