其他分享
首页 > 其他分享> > 8. 如何画各种交互ROI图形

8. 如何画各种交互ROI图形

作者:互联网

halcon 中以 draw 开头的算子 是用户要在界面进行操作的;其中鼠标左键点击为画,鼠标右键点击为确定

 

dev_set_draw () 算子设置区域的填充方式是 margin (边缘)还是 fill; 默认是 ‘fill’;如图1.1 所示为两种模式在画圆时的不同效果。

图1.1 dev_set_draw() 算子
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)

* 设置区域的填充方式是margin(边缘)还是 fill; 默认是 ‘fill’
dev_set_draw ('margin')


* 画圆
* draw_circle() 相等于人际交互操作;使用鼠标左键选择绘制圆的大小,如果中途需要拖动圆改变位置,
* 则鼠标选中圆心来移动圆在图像上的位置; 选择完毕后采用鼠标右键表示操作完毕。此时圆并没有在窗口
* 显示出来,只是存入了圆的圆心和半径信息,紧跟着采用gen_circle()显示所画的圆
draw_circle (WindowHandle, Row, Column, Radius)
* 在交互界面上画一个圆
gen_circle (Circle, Row, Column, Radius)


* 画椭圆
* 参数4:椭圆与 x 轴之间的夹角
draw_ellipse (WindowHandle, Row1, Column1, Phi, Radius1, Radius2)
gen_ellipse (Ellipse, Row1, Column1, Phi, Radius1, Radius2)


* draw_polygon() 与 draw_region() 的区别: draw_polygon()可以画闭合区域也可以画不闭合区域,draw_region()无论怎么画都是是闭合区域

* 画不规则区域
draw_polygon (PolygonRegion, WindowHandle)

* 画闭合区域
draw_region (Region, WindowHandle)

* 画线
draw_line (WindowHandle, Row12, Column12, Row21, Column21)
disp_line (WindowHandle, Row12, Column12, Row21, Column21)


* 画标准矩形
* 画一个平行于坐标轴的矩形
* 参数2,3: 矩形左上角坐标; 参数4,5:矩形右下角坐标
draw_rectangle1 (WindowHandle, Row11, Column11, Row2, Column2)
gen_rectangle1 (Rectangle, Row11, Column11, Row2, Column2)

* 画仿射矩形,即具有任意方向的矩形
draw_rectangle2 (WindowHandle, Row3, Column3, Phi1, Length1, Length2)
gen_rectangle2 (Rectangle1, Row3, Column3, Phi1, Length1, Length2)

draw_rectangle2() 算子与 gen_rectangle2() 算子的参数含义如图 1.2 所示

图1.2 draw_rectangle2() 与 gen_rectangle2() 的参数含义

 

 

标签:ROI,draw,鼠标,WindowHandle,rectangle2,图形,矩形,交互,gen
来源: https://blog.csdn.net/MrYaoLing/article/details/88428972