由于我做到的项目需要进行调正矫正,所以需要对角度进行处理,根据我的测试发现一条直线在不同的区域得出来的结果是不一样的,结果见下图
我通过这个结果写了测试代码,直接转成是往左偏了多少度还是右偏了多少度,分享给大家
- dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
- draw_line (WindowHandle, Row1, Column1, Row2, Column2)//绘制直线
- gen_region_line (RegionLines, Row1, Column1, Row2, Column2)
- orientation_region (RegionLines, Phi)//获取直线角度
- tuple_deg (Phi, Deg)//弧度转角度
- tuple_min (Deg, ak)
- if (ak>0)
- if (ak>90)
- jdzhi:=-(ak-90)
-
- endif
- if (ak<90)
- jdzhi:=ak-90
- tuple_abs (jdzhi, jdzhi)
- endif
-
- endif
- if(jdzhi<-180)
- jdzhi:=-(180+jdzhi)
- endif
- if(jdzhi<-90)
- jdzhi:=(jdzhi+180)
-
- endif
- if (ak<0)
- if (ak>-90)
- jdzhi:=-(90+ak)
-
- endif
- if (ak<-90)
- jdzhi:=90+ak
- tuple_abs (jdzhi, jdzhi)
-
- endif
-
- endif
复制代码 |