上記 12. の手順で使用するマクロは、以下の手順でインストールして下さい。
- マクロ ("---マクロここから---" ~ "---マクロここまで---" の部分) をクリップボードにコピーし、Image-Pro Plus の「マクロ」メニューにある「マクロ編集」コマンドを実行してマクロエディタを開きます。
- マクロエディタウィンドウの末尾にカーソルを入れて一回改行し、マクロエディタの「編集」メニューにある「貼り付け」コマンドで、マクロをウィンドウ内に貼り付けます。
- マクロエディタの「ファイル」から「上書き保存」を実行し、マクロを保存します。
マクロを保存すると、「マクロ」メニューの最下段に、マクロ名 ("Draw_Circles")
が表示されます。
- 上記の測定手順 1.~12. を実行してから、「マクロ」メニューの最下段に表示されている "Draw_Circles" をクリックして、マクロを実行して下さい。
'----------マクロここから----------
Sub Draw_Circles()
Dim Anz_Obj As Integer
Dim Zaehler1 As Integer
ret = IpBlbSetAttr(BLOB_OUTLINEMODE,0)
ret = IpBlbEnableMeas(BLBM_AREA, 1)
ret = IpBlbEnableMeas(BLBM_DENSMAX, 1)
ret = IpBlbEnableMeas(BLBM_CENTRX, 1)
ret = IpBlbEnableMeas(BLBM_CENTRY, 1)
ret = IpBlbMeasure()
ret = IpBlbUpdate(4)
ret = IpBlbGet(GETNUMOBJ, 0, 1, Anz_Obj)
ReDim X_Pos(Anz_Obj) As Single
ReDim Y_Pos(Anz_Obj) As Single
ReDim Radius_(Anz_Obj) As Single
ret = IpBlbData(BLBM_CENTRX, 0, Anz_Obj, X_Pos(0))
ret = IpBlbData(BLBM_CENTRY, 0, Anz_Obj, Y_Pos(0))
ret = IpBlbData(BLBM_DENSMAX, 0, Anz_Obj, Radius_(0))
Zaehler1 = 0
For Zaehler1 = 0 To (Anz_Obj - 1)
ret = IpAnCreateObj(GO_OBJ_ELLIPSE)
ret = IpAnMove(0, (X_Pos(Zaehler1) - Radius_(Zaehler1)), (Y_Pos(Zaehler1) - Radius_(Zaehler1)))
ret = IpAnMove(5, (X_Pos(Zaehler1) + Radius_(Zaehler1)), (Y_Pos(Zaehler1) + Radius_(Zaehler1)))
Next
End Sub
'----------マクロここまで----------
ご参考: 次のページに類似処理の解説があります。
・
繊維断面を測定する
・
凝集した粒子を分離する