ライブラリ構成
IC Imaging Control 4 .NET クラスライブラリは、依存関係を最小限に抑え、特定のライブラリ(例:System.Windows.Forms や System.Drawing)が利用できない環境にも対応できるよう、 複数のアセンブリに分割されています。
コアアセンブリ
コアアセンブリ ic4dotnet.dll には、IC Imaging Control 4 におけるデバイス関連の主要な機能がすべて含まれています。
主なクラスは以下の通りです。
- DeviceEnum:ビデオキャプチャデバイスの列挙に使用します。
- Grabber:オープンされたビデオキャプチャデバイスおよび、そのデータストリームを管理します。
- SnapSink および QueueSink:ImageBuffer オブジェクトを通じて画像データへアクセスするためのクラスです。
- VideoWriter:画像を動画ファイルとして保存するために使用できます。
追加アセンブリ
ic4dotnet.System.Windows.Forms
ic4dotnet.System.Windows.Forms アセンブリは、Windows Forms との統合機能を提供します。
- 表示用コントロール(WinForms.Display)
- 組み込みダイアログへのアクセス(WinForms.Dialogs)
ic4dotnet.System.Drawing
ic4dotnet.System.Drawing アセンブリには、System.Drawing クラスとの相互運用を行うためのImageBuffer 拡張メソッドが含まれています。
- CreateBitmapCopy: ImageBuffer オブジェクトをSystem.Drawing.Bitmapに変換します。
- CreateBitmapWrap: ImageBuffer のメモリを使用してSystem.Drawing.Bitmapを生成します。不要かつ処理コストの高い画像データのコピーを回避する目的で使用できます。
ic4dotnet.System.Windows.Media
ic4dotnet.System.Windows.Media には、System.Windows.Media クラスとの統合に向けた同様の機能が含まれています。
- CreateBitmapSourceCopy:ImageBuffer オブジェクトをSystem.Windows.Media.Imaging.BitmapSource に変換します。
- CopyTo:ImageBuffer の内容を、既存のSystem.Windows.Media.Imaging.WriteableBitmap へコピーします。不要なメモリ割り当てを回避するために使用できます。
このアセンブリは Windows プラットフォームでのみ使用できます。
ic4dotnet.OpenCvSharp
ic4dotnet.OpenCvSharp アセンブリを使用すると、オープンソースライブラリOpenCvSharpを IC Imaging Control 4 のプログラムへ容易に統合できます。
- CreateOpenCvCopy:ImageBuffer 内の画像データをコピーした新しい
OpenCvSharp.Matオブジェクトを生成します。 -
CreateOpenCvWrap:ImageBuffer のメモリを使用する
OpenCvSharp.Matオブジェクトを生成します。ImageBuffer のメモリを、OpenCV 処理の入力および出力として直接利用できます。
このアセンブリはすべてのプラットフォームで利用可能ですが、OpenCvSharpは必要なネイティブバイナリパッケージを備えた一部のターゲットプラットフォームのみをサポートしています。詳細については、プロジェクトのGitHubページをご覧ください。
ic4dotnet.HalconDotNet
ic4dotnet.HalconDotNet は、MVTec の HALCON .NET ライブラリ(MVTec.HalconDotNet)との相互運用のためのヘルパー関数を提供します。
- CreateHImageCopy は、ImageBuffer の画像データのコピーを含む新しい
HImageオブジェクトを作成します。 - CreateHImageWrap は、ImageBuffer のメモリを使用する
HImageオブジェクトを作成します。これにより、HALCON の処理において画像バッファのメモリをソースおよび/またはデスティネーションとして直接使用できます。 - CopyFrom は、
HImageオブジェクトの内容を既存の画像 ImageBuffer にコピーします。 - CreateImageBufferCopy は、既存の
HImageオブジェクトの内容を持つ新しい ImageBuffer を作成します。
このアセンブリはすべてのプラットフォームでサポートされています。


