C#のconsoleでOpenCVSharpのウィンドウとトラックバー

コンピュータ

C#のコンソールのプロジェクトでもOpenCvSharpのウィンドウを表示することが出来るようなので試してみました。

プロジェクトの作成

mkdir プロジェクト名
cd プロジェクト名
dotnet new console
dotnet add package OpenCvSharp4
dotnet add package OpenCvSharp4.Windows
code .

ソースプログラム

using OpenCvSharp;

class Program
{
    static void Main()
    {
        string path = @"C:\Users\karet\Pictures\IMG_20240121_081702754_MFNRs.jpg";
        using var src = new Mat(path, ImreadModes.Grayscale);
        using var dst = new Mat();

        src.CopyTo(dst);
        const string winName = "Threadhold";
        var window = new Window(name: winName,  image: dst);
        var blurTrackbar = window.CreateTrackbar("Threadhold", 127, 255, (pos) =>
        {
            Cv2.Threshold(src, dst, (double)pos, 255.0d, ThresholdTypes.Binary);
            window.ShowImage(dst);
        });
        Cv2.WaitKey();
        Cv2.DestroyAllWindows();
    }
}

サンプルプログラムでは2値化の閾値をトラックバーで動的に変更できるようにしてみました。

コメント