ライブラリ構成

IC Imaging Control 4 .NET クラスライブラリは、依存関係を最小限に抑え、特定のライブラリ(例:System.Windows.Forms や System.Drawing)が利用できない環境にも対応できるよう、 複数のアセンブリに分割されています。

コアアセンブリ

コアアセンブリ ic4dotnet.dll には、IC Imaging Control 4 におけるデバイス関連の主要な機能がすべて含まれています。

主なクラスは以下の通りです。

  • DeviceEnum:ビデオキャプチャデバイスの列挙に使用します。
  • Grabber:オープンされたビデオキャプチャデバイスおよび、そのデータストリームを管理します。
  • SnapSink および QueueSinkImageBuffer オブジェクトを通じて画像データへアクセスするためのクラスです。
  • VideoWriter:画像を動画ファイルとして保存するために使用できます。

追加アセンブリ

ic4dotnet.System.Windows.Forms

ic4dotnet.System.Windows.Forms アセンブリは、Windows Forms との統合機能を提供します。

ic4dotnet.System.Drawing

ic4dotnet.System.Drawing アセンブリには、System.Drawing クラスとの相互運用を行うためのImageBuffer 拡張メソッドが含まれています。

ic4dotnet.System.Windows.Media

ic4dotnet.System.Windows.Media には、System.Windows.Media クラスとの統合に向けた同様の機能が含まれています。

このアセンブリは Windows プラットフォームでのみ使用できます。

ic4dotnet.OpenCvSharp

ic4dotnet.OpenCvSharp アセンブリを使用すると、オープンソースライブラリOpenCvSharpIC Imaging Control 4 のプログラムへ容易に統合できます。

  • CreateOpenCvCopyImageBuffer 内の画像データをコピーした新しい OpenCvSharp.Mat オブジェクトを生成します。
  • CreateOpenCvWrapImageBuffer のメモリを使用する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 を作成します。

このアセンブリはすべてのプラットフォームでサポートされています。