理論: 二次導関数では、最大変化時の値はゼロ、つまりエッジはゼロです。この理論に基づいて2階微分計算を行うことで、画像の2階微分を計算し、エッジを抽出することができます。
API
public static void Laplacian(InputArray src, OutputArray dst, MatType ddepth, int ksize = 1, double scale = 1, double delta = 0, BorderTypes borderType = BorderTypes.Reflect101);
デモ:
if (fileDialog.ShowDialog() == DialogResult.OK)
{
picFile = fileDialog.FileName;
inputMat = Cv2.ImRead(picFile, ImreadModes.Grayscale);
outMat = new Mat(new Size(inputMat.Cols, inputMat.Rows), inputMat.Type());
Cv2.Laplacian(inputMat, outMat, MatType.CV_8UC1);
picBox_Display.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(inputMat);
picBox_After.Image = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(outMat);
}
追記:
この場合、.NET で使用される OpenCV ライブラリはOpenCvSharp4です。