Bootstrap

HALCON_根据XLD轮廓 把图像摆正

*求取图形的角度,并且进行旋转,生成旋转矩阵
*在RegionErosion  这个的基础上

reduce_domain(ImageScaled,  SelectedRegion, ImageErosion)
dev_clear_window()
dev_display(ImageErosion)
dev_set_draw('margin')

gen_contour_region_xld (ImageErosion, Contours, 'border')
dev_set_color('red')
dev_display(Contours)

*截取区域,求取线段的角度
stop ()
*注意参数 'false'  ,旋转不闭合
**裁剪XLD轮廓

draw_rectangle1 (3600, Row1, Column1, Row2, Column2)
***裁剪出XLD轮廓
crop_contours_xld(Contours, CroppedContours1, Row1, Column1, Row2, Column2, 'false')

** 裁剪出XLD轮廓CroppedContours1
** 输出结果为拟合出来后直线的起点和终点

fit_line_contour_xld(CroppedContours1, 'tukey', -1, 0, 5, 2, RowBegin, ColBegin,\
                     RowEnd, ColEnd, Nr, Nc, Dist)


*计算出来的角度是弧度值  RowEnd小的数值放在前面 作为起点
*直线与X轴的夹角
if(RowBegin > RowEnd)
    angle_lx(  RowEnd, ColEnd, RowBegin, ColBegin, Angle)
else
    angle_lx( RowBegin, ColBegin, RowEnd, ColEnd, Angle)
endif


tuple_deg(Angle, Deg)
gen_contour_polygon_xld(C
;