14、创建ROI

 

1    gen_empty_obj( : EmptyObject : : )    1

2    gen_empty_region( : EmptyRegion : : )    1

3    draw_circle( : : WindowHandle : Row, Column, Radius)    2

4    draw_circle_mod( : : WindowHandle, RowIn, ColumnIn, RadiusIn : Row, Column, Radius)    3

5    draw_ellipse( : : WindowHandle : Row, Column, Phi, Radius1, Radius2)    4

6    draw_ellipse_mod( : : WindowHandle, RowIn, ColumnIn, PhiIn, Radius1In, Radius2In : Row, Column, Phi, Radius1, Radius2)    5

7    draw_line( : : WindowHandle : Row1, Column1, Row2, Column2)    5

8    draw_line_mod( : : WindowHandle, Row1In, Column1In, Row2In, Column2In : Row1, Column1, Row2, Column2)    5

9    draw_nurbs( : ContOut : WindowHandle, Rotate, Move, Scale, KeepRatio, Degree : Rows, Cols, Weights)    5

10draw_nurbs_mod( : ContOut : WindowHandle, Rotate, Move, Scale, KeepRatio, Edit, Degree, RowsIn, ColsIn, WeightsIn :    6

11draw_nurbs_interp_mod( : ContOut : WindowHandle, Rotate, Move, Scale, KeepRatio, Edit, Degree, RowsIn,    6

12draw_nurbs_interp_mod( : ContOut : WindowHandle, Rotate, Move, Scale, KeepRatio, Edit, Degree, RowsIn, ColsIn,    6

13draw_point( : : WindowHandle : Row, Column)'    6

14draw_point_mod( : : WindowHandle, RowIn, ColumnIn : Row, Column)    6

15draw_rectangle1( : : WindowHandle : Row1, Column1, Row2, Column2)    6

16draw_rectangle1_mod( : : WindowHandle, Row1In, Column1In, Row2In, Column2In : Row1, Column1, Row2, Column2)    6

17draw_rectangle2( : : WindowHandle : Row, Column, Phi, Length1, Length2)    7

18draw_rectangle2_mod( : : WindowHandle, RowIn, ColumnIn, PhiIn, Length1In, Length2In : Row, Column, Phi, Length1,    7

19draw_region( : Region : WindowHandle : )    7

20draw_xld( : ContOut : WindowHandle, Rotate, Move, Scale, KeepRatio : )    7

21draw_xld_mod(ContIn : ContOut : WindowHandle, Rotate, Move, Scale, KeepRatio, Edit : )    7

 

 

 

 

 

 

  1. gen_empty_obj( : EmptyObject : : )

    功能:创建一个空的对象(tuple元组)

gen_empty_obj (EmptyObject)

  1. gen_empty_region( : EmptyRegion : : )

    功能:创建一个空区域(region

gen_empty_region (EmptyRegion)

 

绘制ROI:以"draw_"开头,通过鼠标绘制出指定的图形后,就可以通过"gen_"来创建这个图形的region并且利用。

  1. draw_circle( : : WindowHandle : Row, Column, Radius)

    功能:在指定窗口中绘制一个交互式圆,把圆的参数赋值给Row, Column, Radius获得圆的源点坐标和半径后可以通过gen_circle( : Circle : Row, Column, Radius : )等绘制会一个region

    例子:

    read_image (Image, 'lena')

draw_circle (3600, x, y, R)

 

分析:当程序运行到draw_circle()函数时,就会卡主,并激活了"图形窗口",这时需要在"图形窗口"中用鼠

        标左键绘制圆形,并单击右键确定。

右键单击确定后:x y R就会得到相应的值:'

注:上图中看到的图形像是椭圆型,其实不是这样的,这个图片通过拉伸才把圆形显示成了椭圆型。

  1. draw_circle_mod( : : WindowHandle, RowIn, ColumnIn, RadiusIn : Row, Column, Radius)

    功能:在原有圆的基础上交互式修改一个圆形,但程序运行到这一行时,会卡主,且Halcon会激活指定句柄的图形窗口和显示出已有的圆形(RowIn, ColumnIn, RadiusIn),此时可以对这个已有的圆形进行修改,修改后右键单击确定,此时Row, Column, Radius会得到修改后的值。

    右键单击确定后:

  2. draw_ellipse( : : WindowHandle : Row, Column, Phi, Radius1, Radius2)

    功能:交互式画一个椭圆,其中Phi表示长半轴的角度,即下图的蓝色箭头

  1. 功能:在原有的基础上修改一个椭圆

  2. draw_line( : : WindowHandle : Row1, Column1, Row2, Column2)

    功能:画直线

  3. 功能:在原有直线的基础上修改一条直线

  4. 功能:交互式画出一个nurbs曲线

    效果:这是会产生一个图形变量

10、draw_nurbs_mod( : ContOut : WindowHandle, Rotate, Move, Scale, KeepRatio, Edit, Degree, RowsIn, ColsIn, WeightsIn :

    Rows, Cols, Weights)

功能:在原有的nurbs曲线上修改一个nurbs曲线

11draw_nurbs_interp_mod( : ContOut : WindowHandle, Rotate, Move, Scale, KeepRatio, Edit, Degree, RowsIn,

ColsIn, TangentsIn : ControlRows, ControlCols, Knots, Rows, Cols, Tangents)

    功能:利用插值交互式画一个nurbs曲线。

    

12、draw_nurbs_interp_mod( : ContOut : WindowHandle, Rotate, Move, Scale, KeepRatio, Edit, Degree, RowsIn, ColsIn,

TangentsIn : ControlRows, ControlCols, Knots, Rows, Cols, Tangents)

    功能:在原有nurbs曲线的基础上利用插值交互式创建一个nurbs

13、draw_point( : : WindowHandle : Row, Column)'

    功能:画一个点

14、draw_point_mod( : : WindowHandle, RowIn, ColumnIn : Row, Column)

    功能:在原有点的基础上修改一个点

15、draw_rectangle1( : : WindowHandle : Row1, Column1, Row2, Column2)

    画一个平行于坐标轴的矩形

16、draw_rectangle1_mod( : : WindowHandle, Row1In, Column1In, Row2In, Column2In : Row1, Column1, Row2, Column2)

    功能:在原有矩形的基础上修改一个平行于坐标轴的矩形

17draw_rectangle2( : : WindowHandle : Row, Column, Phi, Length1, Length2)

    交互式画一个任意角度的矩形(仿射矩形)

18、draw_rectangle2_mod( : : WindowHandle, RowIn, ColumnIn, PhiIn, Length1In, Length2In : Row, Column, Phi, Length1,

Length2)

    功能:在原有的仿射矩形基础上修改一个任意角度的仿射矩形

19、draw_region( : Region : WindowHandle : )

    交互式画出一个闭合区域

    

20、draw_xld( : ContOut : WindowHandle, Rotate, Move, Scale, KeepRatio : )

    功能:交互式画出一个轮廓(XLD),可以使闭合的也可以是不闭合的,当点击类似鼠标处的向上框时,会使这个

    xld闭合

21、draw_xld_mod(ContIn : ContOut : WindowHandle, Rotate, Move, Scale, KeepRatio, Edit : )

    功能:在现有的轮廓上交互修改一个轮廓

posted @ 2022-05-08 23:01  ihh2021  阅读(237)  评论(0)    收藏  举报