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値化の閾値をトラックバーで動的に変更できるようにしてみました。
コメント