抠图,取图像相对直的一段,作为调正的基准,计算XLD轮廓的角度,从而将整幅图调正。
dev_close_window ()
*调正 , 优势 , 计算相对位置比较方便。 cad图 。
read_image(Image,'./1.bmp')
*0. 调整之后处理比较简单
get_image_size(Image, Width, Height)
dev_open_window(0, 0, Width/3, Height/3, 'black', WindowHandle)
*1 调正了一张图
dev_display(Image)
stop ()
*绘制矩形1
draw_rectangle1(WindowHandle, Row1, Column1, Row2, Column2)
*生成矩形
gen_rectangle1(Rectangle1, Row1, Column1, Row2, Column2)
*ROI剪切
reduce_domain(Image, Rectangle1, ImageReduced1)
*转成灰度图
rgb1_to_gray(ImageReduced1, GrayImage1)
stop ()
*xld canny 边缘提取 , 高频 边缘提取!
edges_sub_pix(GrayImage1, Edges, 'canny', 2, 20, 50)
*轮廓线筛选,特征直方图
select_shape_xld (Edges, SelectedXLD, 'contlength', 'and', 165, 170)
*对该轮廓线做拟合处理
fit_line_contour_xld(SelectedXLD, 'tukey', -1, 0, 5, 2, RowBegin, ColBegin, \
RowEnd, ColEnd, Nr, Nc, Dist)
dev_set_line_width(3)
*通过两个点绘制直线,