C#でOpenCVを使うOpenCVSharp
OpenCVのC#ラッパーとしてOpenCvSharpというNugetパッケージがあります。
これを使うとC#でOpenCVによる画像処理や色々ができます。
例えば、画像を読み込んで表示させたり、画像の色空間を変更したりというのは以下のようなコードを書きます。
using OpenCvSharp; using System; namespace OpenCVColorExtraction { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); string inputFilePath = "Images/gauge-1.jpg"; var src = Cv2.ImRead(inputFilePath); if (src is null) Console.WriteLine("fail to read file."); Mat hsv = new Mat(); Cv2.CvtColor(src, hsv, ColorConversionCodes.RGB2HSV); using (new Window("src", src)) using (new Window("hsv", hsv)) Cv2.WaitKey(); } } }
これを実行すると以下のように元画像とHSV色空間に変換された画像が表示されます。
インストール
インストールは簡単で、OpenCvSharpのReadMeにも書かれているとおり、Nugetパッケージからインストールするだけです。
ここではWindowsの場合のみを紹介しますが、他にもUWPの場合やUbuntuの場合などが書いてありますので、自分の環境に合わせてインストールするパッケージを選択します。
Windowsの場合は2とおりあります。
- OpenCVSharp4 と OpenCVSharp4.runtime.winの組み合わせ
- OpenCVSharp4.Windowsのみ
特段理由がなければ後者のOpenCvSharp.Windowsをインストールすればよいでしょう。