VISMEASURE
(ステートメント)

ウィンドウ内の特徴(面積、重心、主軸角)を計測します。

VISMEASURE <ウィンドウ番号>,<X座標>,<Y座標>,<処理対象>,<モード>,<2値下限>[,<2値上限>]

<ウィンドウ番号>
ウィンドウの番号を指定します。(0~511)
<X座標>
X座標を指定します。(0~511)(Ver. 1.6以降:-16384~16383)
<Y座標>
Y座標を指定します。(0~479)(Ver. 1.6以降:-16384~16383)

画面外を指定した場合、「ウィンドウ異常」になります。
<処理対象>
計測する対象を指定します。(0または1)
0:黒(輝度値 < 2値化下限,2値化上限 < 輝度値 )
1:白(2値化下限 ≦ 輝度値 ≦ 2値化上限)
<モード>
計測する特徴を指定します。
0:累積輝度、面積
1:累積輝度、面積、重心(1次モーメント)
2:累積輝度、面積、重心(1次モーメント)、主軸角(2次モーメント)

-
計測する特徴が多くなるほど処理時間が増加します。
-
本命令を実行時に処理画面3番をワークエリアとして使用するため処理画面3番のデータは保証されません。また、処理画面3番(VISWORKPLN 3)は処理できません。
-
本命令はロボットコントローラではμVisionボード(オプション)が必要です。

<2値下限>
2値化する際の下限レベルを指定します。(0~254 下限 < 上限)
<2値上限>
2値化する際の上限レベルを指定します。(1~255 下限 < 上限)
省略時255を指定します。

-
処理範囲をウィンドウで指定します。(扇ウィンドウのみ主軸角は計測できません)モード○:可 ×:不可012直線(2点指示)Windmake P○○○直線(長さ、角度)Windmake L○○○円Windmake C○○○楕円Windmake E○○○扇Windmake S○○×四角Windmake R○○○
-
指定したウィンドウの位置が画面をはみ出す場合、実行結果はエラーになります。
-
以下は処理結果取得関数で得ることができるデータです。VISSTATUS(n)n項目0実行結果 0=正常 -1=異常1unknown2実行時間
VISGETNUM(a、b)ba = 00面積1重心X座標値2重心Y座標値3主軸角角度4累積輝度51次モーメントX61次モーメントY72次モーメントX82次モーメントY92次モーメントXY
-
本命令はロボットコントローラではμVisionボード(オプション)が必要です。

VISSCREEN 0,0,1
|
'格納メモリ0番に即時描画します。
|
WINDMAKE R,1,512,480,0,2
|
'ウィンドウ1番を矩形ウィンドウに設定します。
|
CAMIN 1
|
'カメラ映像を格納メモリ0番に指定します。
|
VISWORKPLN 0
|
'対象を格納メモリ0番に指定します。
|
VISPLNOUT 0
|
'
|
VISMEASURE 1,0,0,1,2,128
|
'累積輝度、面積、重心、主軸角を求めます。
|
IF VISSTATUS(0) = 0.0 THEN
|
'
|
FOR I1 = 0 TO 9
|
'
|
VISLOC 0,I1
|
'
|
VISPRINT "結果";I1;"=";VISGETNUM(0,I1)
|
|
NEXT I1
|
'
|
END IF
|
'
|