1. 程式人生 > >Halcon中使用elliptic_axis運算元計算物件角度時的注意事項

Halcon中使用elliptic_axis運算元計算物件角度時的注意事項

  elliptic_axis運算元是用於計算與Region等價橢圓的相關引數的,在使用該運算元時,如果輸入的Region不是規則的矩形,那就要特別注意其計算得出的角度Phi。

elliptic_axis (Region, Ra, Rb, Phi)
Region是輸入的Region
Ra和Rb分別是等價橢圓的長半軸和短半軸
Phi是等價橢圓的角度

  解釋:elliptic_axis計算和輸入Region具有“相同方向”和“相同邊關係”的橢圓的半徑和方向。注意,Ra、Rb的長度是基於水平座標軸的。Phi的角度是基於水平線的。

驗證elliptic_axis生成矩形的形狀
area_center (Region, Area, Row
, Column) elliptic_axis (Region, Ra, Rb, Phi) gen_ellipse (Ellipse, Row, Column, Phi, Ra, Rb)

  當Regions是規則的矩形時,其生成的Ellipse與Regions具有相同的角度。但是其面積是大於矩形面積的。

  但是,如果Region具有不規則的形狀,其計算的角度實際上和smallest_rectangle2是一致的,通過如下程式碼可進行驗證。

area_center (Region, Area, Row, Column)
elliptic_axis (Region, Ra, Rb, Phi
)
gen_ellipse (Ellipse, Row, Column, Phi, Ra, Rb) smallest_rectangle2 (Region, Row1, Column1, Phi1, Length1, Length2) gen_rectangle2 (Rectangle, Row1, Column1, Phi1, Length1, Length2)