2016年10月26日 星期三

在Inspector中轉換到model座標

在MIL中可以使用McalFixture將座標系統依照model Finder或patern Match...的結果作旋轉平移。
用Inspector可以很簡單的設定measurement marker的參數,位置並看效果。但inspector預設的坐標系是左上角為原點的坐標系,與model的坐標系不同。


為了方便操作,可以先擷取有興趣得影像部分,並做model finding。完成後會得到model的旋轉與中心位置。

<在inspector中設定相對坐標系>
Image>Calibration>Relative Origin
Apply to: 選擇正確的目標影像
Relative Origin Group中
勾選Set Angle too (若找出的model有角度)
將找到的model Hotspot X, Y, Angle填入 X,Y,Relative Angle
可以看到左半經過座標轉換的原點在model的中心點上。這麼做可以將Inspector中設定的位置對應到程式中經過fixture將世界座標轉換到model上之後的位置。

<在程式中使用,以measurement為例>
// 讀取由inspector產生的marker
MIL.MmeasRestoreMarker(MARKER_PATH, MilSystem, MIL.M_DEFAULT, ref StripeMarker);
// 將marker的輸入坐標系設為世界座標
MIL.MmeasSetMarker(StripeMarker, MIL.M_SEARCH_REGION_INPUT_UNITS, MIL.M_WORLD, MIL.M_NULL);
// 學習model的坐標系
MIL.McalFixture(MIL.M_NULL, MilFixturingOffset, MIL.M_LEARN_OFFSET, MIL.M_MODEL_MOD, MilModContext, 0, MIL.M_DEFAULT, MIL.M_DEFAULT, MIL.M_DEFAULT);
// 以model find結果設定世界座標
MIL.McalFixture(MilImage, MilFixturingOffset, MIL.M_MOVE_RELATIVE, MIL.M_RESULT_MOD,MilModResult, Index, MIL.M_DEFAULT, MIL.M_DEFAULT, MIL.M_DEFAULT);


沒有留言:

張貼留言