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