In-Sight スプレッドシートで、測定のサンプルを作りました。
セルA0: AcquireImage(0, 1, 8, …)
セルA2: CalibrateGrid($A$0)、チェッカーボードのキャリブレーションを行います
セルA4: TransformImage($A$0, $A$2, 0, …)、セルB4: ExtractCalibration(A4)
セルA6: TrainPatMaxPattern($A$4, 0, 0, …)、モデル領域を指定します
セルA8: FindPatMaxPatterns($A$4, 0, 0, …)、サーチ領域を指定します、パターンを$A$6にします、開始角度=-180、終了角度=180 にします
セルA10: FindLine($A$4, $C$8, $D$8, $E$8, …)、PatMaxの結果をフィクスチャに指定します、領域を指定します(スキャン方向を合わせます)、極性を合わせます、検出する基準を調整します
セルA12: FindLine($A$4, $C$8, $D$8, $E$8, …)、PatMaxの結果をフィクスチャに指定します、領域を指定します(スキャン方向を合わせます)、極性を合わせます、検出する基準を調整します
セルA14: TransEdgesToWorld($B$4, $A$10, 1)、セルB14〜E14 は Row1、Col1、Row2、Col2
セルA16: TransEdgesToWorld($B$4, $A$12, 1)、セルB16〜E16 は Row1、Col1、Row2、Col2
セルA18: ‘中点を計算、セルB18: (B14+D14)/2、セルC18: (C14+E14)/2
セルA20: PointToLine($B$18, $C$18, $B$16, $C$16, $D$16, $E$16, 0)、点と直線の距離を計算します、セルG20: GetDistance(A20)
セルA22: If(And(G20<31,G20>29), “OK”, “NG”)、30±1mm を OK にします
補足説明:
CalibrateGrid は元画像から歪み補正した実世界座標への変換係数を作ります。TransformImage は歪み補正した画像を作り、その画像からの実世界座標への変換係数を作ります。
フィクスチャや領域指定はピクセル座標で行います。
以上、