Halcon画矩形框(正矩形和最小外接矩形)

利用halcon,画出矩形框(两种,根据需要选择)。可用于在瑕疵检测中,给瑕疵框住外矩形框。

1.正矩形框
正矩形框,指的是没有发生倾斜,竖直的矩形框。
该矩形框,不仅能够完全覆盖region区域,而且还不发生倾斜,可以用在一些特定的瑕疵标定。
具体代码如下:

    smallest_rectangle1 (Region, Row1, Column1, Row2, Column2)
    gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)

其中,smallest_rectangle1 算子的作用是,获取region的最小外接正矩形。输出Row1(左上y坐标),Column1(左上x坐标),Row2(右下y坐标),Column2(右下x坐标)。
gen_rectangle1 算子是根据输入的左上和右下角的坐标信息,画出矩形框。输入Row1(左上y坐标),Column1(左上x坐标),Row2(右下y坐标),Column2(右下x坐标),输出Rectangle。

效果如下图:
在这里插入图片描述
在这里插入图片描述

2.最小外接矩形
最小外接矩形,顾名思义,是根据region的形状,在其外围画上矩形框,并且该矩形框依据region的角度发生倾斜。适合一般的瑕疵标注。
具体代码如下:

*获取最小矩形框的参数
smallest_rectangle2(Region,Row,Column,Phi,Length1,Length2)
*角度参数,用来改变矩形框的角度,使矩形框能够按照region的方向创建
PhiDu:=Phi*180/3.14
*根据新角度,创建贴合瑕疵的矩形框
gen_rectangle2_contour_xld (Rectangle, Row, Column, Phi, Length1, Length2)
*将xld格式转化为region格式,方便保存图片
gen_region_contour_xld (Rectangle, Regionrect, 'margin')

效果如下图:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Deng7326/article/details/128926873