OpenCV を C# で使いたいということで OpenCvSharp (x64) を入れてみました。他にもいくつか OpenCV のラッパーライブラリはあったのですが、使える関数が豊富ということと、開発者が日本人ということから OpenCvSharp を使うことにしました。

しかもこの OpenCvSharp なんですが、ごにょごにょいじらなくても NuGet パッケージが配布されているので簡単に導入できるという優れモノでして、 VisualStudio のソリューションエクスプローラーにどわーっと dll が表示されることを除けば非常に扱いやすくなっております。

試しに web カメラの映像を表示するソース書いてみました

web カメラの映像を表示

using OpenCvSharp;

namespace OpenCvTest
{
    class Program
    {
        static void Main(string[] args)
        {
            //初期設定
            var capture = Cv.CreateCameraCapture(0);
            Cv.SetCaptureProperty(capture, CaptureProperty.FrameWidth, 640.0);
            Cv.SetCaptureProperty(capture, CaptureProperty.FrameHeight, 480.0);
            var frame = Cv.QueryFrame(capture);
            Cv.NamedWindow("Capture", WindowMode.AutoSize);
            
            //50フレーム分表示
            for (int i = 0; i <= 50; i++)
            {
                frame = Cv.QueryFrame(capture);
                Cv.ShowImage("Capture", frame);

                //間に入れないと処理が追いつかない
                Cv.WaitKey(10);
            }

            Cv.DestroyWindow("Capture");
            Cv.ReleaseImage(frame);

        }
    }
}


簡単ですね…素晴らしいです。