Emgu CV
オープン ソースの .NET 画像処理ライブラリ
C# API を使用すると、ソフトウェア開発者は、カメラまたはビデオ ファイルから画像をキャプチャしたり、幾何学的変換をサポートしたり、その他多くの機能を利用できます。
Emgu CV は、OpenCV 画像処理ライブラリに対するオープン ソースのクロスプラットフォーム .NET ラッパーであり、ソフトウェア開発者が独自の .NET アプリ内でシンプルかつ高度な画像の作成と操作を実行できるようにします。 Windows、Linux、Mac OS、iOS、Android で簡単にスムーズに実行できます。
Emgu CV は、C#、VB.NET、C++、IronPython など、いくつかの異なる言語で使用できる純粋な C# 実装です。このライブラリには、新しい画像の生成、画像の変更、カメラまたはビデオ ファイルからの画像のキャプチャ、ビデオ形式への画像の書き込み、バックグラウンド セグメンテーション、幾何学的変換のサポート、光学式文字認識のサポート、画像のスティッチングなど、画像処理に関連するいくつかの重要な機能が含まれています。 、 などなど。
Emgu CV を始める
Emgu CV を使用してプロジェクトを実行するには、まず、.NET ランタイムをインストールする必要があります。その後、リポジトリを GitHub から手動でダウンロードできます。次のコマンドを使用してインストールします。
GitHub 経由で Emgu CV をインストールする
git clone https://github.com/emgucv/emgucv.git
.NET によるイメージの作成と管理
無料の Emgu CV ライブラリを使用すると、ソフトウェア プログラマーは画像を簡単に作成および処理できるアプリを作成できます。画像は簡単に作成できますが、画像オブジェクトを作成することをお勧めします。マネージ クラスを使用すると、自動メモリ管理、自動ガベージ コレクションなどのいくつかの利点が得られ、画像ピクセルの汎用操作、ビットマップへの変換などの高度なメソッドが含まれます。サイズの調整、色の適用、画像の奥行きの指定などを簡単に行うことができます
画像を . ツイート
//Create an image of 400x200 of Blue color
using (Image img = new Image(400, 200, new Bgr(255, 0, 0)))
{
//Create the font
MCvFont f = new MCvFont(CvEnum.FONT.CV_FONT_HERSHEY_COMPLEX, 1.0, 1.0);
//Draw "Hello, world." on the image using the specific font
img.Draw("Hello, world", ref f, new Point(10, 80), new Bgr(0, 255, 0));
//Show the image using ImageViewer from Emgu.CV.UI
ImageViewer.Show(img, "Test Window");
}
.NET API による交通標識検出
オープン ソースの Emgu CV API には、.NET コマンドを使用して簡単にトラフィック シングを検出するためのサポートが含まれています。このライブラリは、開発者が自律型車両ナビゲーション システムの重要な部分であるカメラでキャプチャされた画像から一時停止標識を検出するのに役立ちます。これは非常に便利で、都市環境で自動車が安全に走行するのに役立ちます。最初のステップでは、開発者は交通信号の赤い八角形を抽出する必要があり、SURF を使用して候補領域のフィーチャを一致させて一致させることができます。
CSharp による画像スティッチングの実行
Emgu CV ライブラリは、開発者が C# コードを使用して独自のアプリ内で画像のスティッチングを実行するのに役立ちます。これは、複数の写真画像を組み合わせてセグメント化されたパノラマまたは高解像度画像を生成するための非常に便利なプロセスです。ライブラリはそれを実行するために数行のコードを必要とするだけですが、正確な結果を得るには、画像と同一の露出がほぼ正確に重なり合う必要があることを覚えておくことが重要です。
.NET による画像切り替えを実行
using (Stitcher stitcher = new Stitcher(
//This indicate if the Stitcher should use GPU for processing.
//There is currently a bug in Open CV such that GPU processing cannot produce the correct result.
//Must specify false as parameter. Hope this will be fixed soon to enable GPU processing
false
))
{
Image result = stitcher.Stitch(sourceImages);
// code to display or save the result
}