OpneCvSharpでCannyフィルタを試す

コンピュータ

Cannyフィルタのサンプルです。

using OpenCvSharp;
using OpenCvSharp.Extensions;

namespace CannySample;

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        // 画像ファイルのパス
        var file = @"C:\Users\karet\Pictures\20221119\P_20190914_063523_1.png";

        // 画像ファイルの読み込み
        var mat = Cv2.ImRead(file);
        // グレースケール変換
        Cv2.CvtColor(mat, mat, ColorConversionCodes.RGB2GRAY);
        // 大津2値化
        Cv2.Threshold(mat, mat, 0.0, 255.0, ThresholdTypes.Otsu);
        // Cannyフィルタ
        Cv2.Canny(mat, mat, 3.0, 3.0);

        // ピクチャボックス
        var picbox = new PictureBox()
        {
            SizeMode = PictureBoxSizeMode.AutoSize,
            Image = BitmapConverter.ToBitmap(mat),
        };
        // パネル
        var panel = new Panel()
        {
            Dock = DockStyle.Fill,
            AutoScroll = true,
        };
        // コントロールの追加
        panel.Controls.Add(picbox);
        Controls.Add(panel);

        using(mat) {}
    }
}

コメント