2値化設定

Namespace: FVIL.Video
Assembly: FVILdevice (in FVILdevice.dll) Version: 3.1.0.0 (3.1.0.5)

Syntax

C#
public override CFviVideoBinarize Binarize { get; set; }
Visual Basic
Public Overrides Property Binarize As CFviVideoBinarize
	Get
	Set

Return Value

Type: CFviVideoBinarize

FV-GP440が持つ2値化機能の設定を行います。


許容値 (Mode):
意味
0グレイ
12値化

許容値 (Threshold):
意味
0~2552値化閾値

処理に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。

エラーコード:

ErrorCode メンバ内容
25FVIL.ErrorCode.NOT_OPENEDデバイスがオープンされていません。
11FVIL.ErrorCode.INVALID_PARAMETER引数に指定された値が不正です。
31066FVIL.Video.ErrorCode.SET_BINARIZE2値化の設定に失敗しました。

Remarks

2値化とは、1画素 8bit のグレイ画像の深度(0~255)を1画素 1bit の深度にする機能のことを言います。 深度の変換は、指定された閾値を基準に行います。 閾値を下回っていれば黒(0)、上回っていれば白(1)に変換します。

Mode の設定は、下記関数に有効です。

ChangeImageSize(CFviImage) において、 Modeに0が指定されていれば、FVIL.ImageType.UC8で画像オブジェクトに設定を行います。
Modeに1が指定されていれば、FVIL.ImageType.BINで画像オブジェクトに設定を行います。

GrabImageSync(CFviImage)GrabImageASync(CFviImage)Images に、FVIL.ImageType.UC8の画像オブジェクトが指定された場合、グレイ画像で画像入力を行います。
FVIL.ImageType.BINの画像オブジェクトが指定された場合、2値画像で画像入力を行います。

Examples

このプロパティはインスタンスの参照を返すものではありません。 従って、CFviVideoBinarize 構造体の インスタンスのメンバを個別に変更する事は出来ません。 設定を変更するには下記の何れかの方法で行ってください。

以下は、CFviVideoBinarize 構造体の 初期値指定コンストラクタで構築したインスタンスを代入する方法です。

C# Copy imageCopy
video.Binarize = new FVIL.Video.CFviVideoBinarize( 1, 128 );

以下は、このプロパティから現在値を取得して、閾値のみを変更して再度代入する方法です。

C# Copy imageCopy
FVIL.Video.CFviVideoBinarize object = video.Binarize;   // (1) 現在値取得
object.Threshold = 128;     // (2) 閾値のみ変更
video.Binarize = object;    // (3) 再度、代入

Exceptions

ExceptionCondition
FVIL..::..CFviExceptionこの例外の原因については、上記のエラーコード表をご参照ください。

See Also