VISLEVEL
(関数)

ヒストグラム結果に基づき2値化レベルを求めます。

VISLEVEL(<モード>[,<基準面積>[,<処理対象>] ] )

<モード>
2値化レベルを求める方法を指定します。(0~2)
0:モード法
1:判別分析法
2:Pタイル法
内容についてはP5-4「5.1.1.5 ?2値化」をご覧ください。
<基準面積>
Pタイル法による2値化レベルを求める際の面積値を指定します。(1~245760)省略時は、1を指定します。
<処理対象>
Pタイル法による2値化レベルを求める際の対象(白、黒)を指定します。(0または1)省略時は、0を指定します。
0:黒(輝度値0から積算)
1:白(輝度値255から積算)

-
モード法、判別分析法では<基準面積><処理対象>は使用しません。
-
本機能を使用する場合は、VISHISTをあらかじめ実行する必要があります。
-
指定データに誤り、または処理結果が異常である場合、戻り値は -1になります。
-
本命令はロボットコントローラではμVisionボード(オプション)が必要です。

VISCLS 0
|
'
|
WINDMAKE R,1,100,100,0,2
|
'ウィンドウ1番を矩形ウィンドウに設定します。
|
CAMIN 1
|
'カメラ映像を格納メモリに取得します。
|
VISWORKPLN 0
|
'処理の対象画面を格納メモリ0番に設定します。
|
VISHIST 1,100,100
|
'座標(100,100)を原点にウィンドウ1番でヒストグラ
'ムを実行します。
|
WINDDISP 1
|
'
|
I2 = VISLEVEL(0)
|
'モード法により2値化レベルを求めます。
|
VISLOC 10,10
|
'
|
IF I2 = -1 THEN VISPRINT "エラー" ELSE VISPRINT "2値化レベル=";I2
|
|
I2 = VISLEVEL(1)
|
'判別分析法により2値化レベルを求めます。
|
VISLOC 10,11
|
'
|
IF I2 = -1 THEN VISPRINT "エラー" ELSE VISPRINT "2値化レベル=";I2
|
|
I2 = VISLEVEL(2,100,0)
|
'Pタイル法により2値化レベルを求めます。
|
VISLOC 10,12
|
'
|
IF I2 = -1 THEN VISPRINT "エラー" ELSE VISPRINT "2値化レベル=";I2
|