FrameSnapSink

ビデオストリームからオンデマンドでフレームを取得するために使用できるSinkタイプです。
アプリケーションがスナップショットを必要とする場合、また定期的/不定期的に画像データへアクセスしたい場合に使用します。ライブ表示はデバイスから取得したまま表示を行えます。全ての入力画像に対して処理が必要な場合は、FrameQueueSinkクラスライブラリリファレンス>クラス>FrameQueueSinkをお使いください。
簡単な使用例です。

FrameSnapSink sink = new FrameSnapSink(MediaSubTypes.RGB32);
ICImagingControl1.Sink = sink;
ICImagingControl1.LiveStart();
// 1枚のイメージを取得
IFrameQueueBuffer frame = sink.SnapSingle(TimeSpan.FromSeconds(5));
frame.SaveAsBitmap("test.bmp");
frame.SaveAsJpeg("test.jpg", 90);
frame.SaveAsTiff("test.tiff"); 

FrameSnapSinkに、MediaSubtypes.RGB32を渡すことで、SinkがRGB32カラー画像を取得するように指定 しています。
SnapSingleの箇所では、ビデオキャプチャデバイスから新しい画像が取得されるのを待ち、取得されたら IFrameQueueBufferクラスライブラリリファレンス>クラス>IFrameQueueBufferにその画像を返します

インフォメーション

IC Imaging Control 3.5より実装

メソッド

メソッド 説明
FrameSnapSinkクラスライブラリリファレンス>クラス>FrameSnapSink 新しいFrameSnapSinkインスタンスを作成します。
SnapSequenceクラスライブラリリファレンス>クラス>FrameSnapSink>FrameSnapSink.SnapSequence Method 複数枚のイメージの到着を待って、結果を返します。
SnapSingleクラスライブラリリファレンス>クラス>FrameSnapSink>FrameSnapSink.SnapSingle Method 1枚のイメージを待って、結果を返します。