Halcon参考手册,第十三章 Graphics, 图表 (持续更新中)

第十三章 Graphics, 图表

13.1 3D Scene , 3D场景

add_scene_3d_camera
在3D场景中添加摄像机。
add_scene_3d_instance
将一个3D对象模型实例添加到3D场景中。
add_scene_3d_label
向3D场景添加文本标签。
add_scene_3d_light
在3D场景中添加光源。
clear_scene_3d
删除3D场景并释放所有分配的内存。

create_scene_3d
创建可视化3D对象集合所需的数据结构。
display_scene_3d
显示3D场景。
get_display_scene_3d_info
获取显示的3D场景中实例的深度或索引。
remove_scene_3d_camera
从3D场景中移除摄像机。
remove_scene_3d_instance
从3D场景中移除一个对象实例。

remove_scene_3d_label

从3D场景中移除文本标签。
remove_scene_3d_light
从3D场景中移除灯光。
render_scene_3d
渲染一个3D场景的图像。
set_scene_3d_camera_pose
在3D场景中设置相机的姿势。
set_scene_3d_instance_param
设置3D场景中实例的参数

set_scene_3d_instance_pose

在3D场景中设置一个实例的姿态。
set_scene_3d_label_param
设置3D场景中文本标签的参数。
set_scene_3d_light_param
设置3D场景中灯光的参数。
set_scene_3d_param
设置3D场景参数。
set_scene_3d_to_world_pose
设置一个3D场景的姿态。

13.2 Drawing ,绘制

本章描述了允许用户手动绘制几何形状的操作符。它们需要鼠标交互,并且通常会阻塞应用程序,直到鼠标交互完成。对于几何形状的非阻塞交互式创建,HALCON还提供了图形/对象中列出的操作符的绘图对象。

1.一般目标

绘制操作符draw_region, draw_xld, draw_xld_mod, draw_nurbs, draw_nurbs_mod, draw_nurbs_interp, draw_nurbs_interp_mod,以及drag_region1, drag_region2和drag_region3返回图标对象。所有其他绘制操作符返回在各自形状中创建区域或轮廓所需的几何参数(见表)。大多数绘制操作符都有一个修改变体,允许用户指定所示形状的初始参数。

2.在缓冲窗口中绘图

由于绘制操作符依赖于鼠标交互,因此它们通常在与缓冲区窗口一起使用时不起作用(参见open_window),因此应该使用绘制对象来代替。然而,有些操作符(见表)可以在缓冲区窗口中使用。这些操作符通过鼠标状态进行控制。为了使用这些操作符(并且不引起死锁),应用程序必须提供操作符send_mouse_double_click_event, send_mouse_down_event, send_mouse_drag_event和send_mouse_up_event以及修饰符键的状态(也通过使用send_mouse_drag_event),而绘制操作符本身必须在另一个线程中运行。在使用绘制操作符时,不能更改图像部分。

3.操作符列表

drag_region1
区域的交互移动。
drag_region2
具有定点规范的区域的交互移动。
drag_region3
具有位置限制的区域的交互移动。
draw_circle
交互式画一个圆。

draw_circle_mod

交互式画一个圆。
draw_ellipse
交互式绘制椭圆。
draw_ellipse_mod
交互式绘制椭圆。
draw_line
画一条线。
draw_line_mod
画一条线。
draw_nurbs
交互式绘制NURBS曲线。

draw_nurbs_interp
交互式绘制NURBS曲线使用插值。
draw_nurbs_interp_mod
使用插值的NURBS曲线的交互式修改。
draw_nurbs_mod
NURBS曲线的交互式修改。
draw_point
画一个点。
draw_point_mod
画一个点。

draw_polygon
交互式绘制多边形行。
draw_rectangle1
画一个与坐标轴平行的矩形。
draw_rectangle1_mod
画一个与坐标轴平行的矩形。
draw_rectangle2
交互式绘制任何定向矩形。
draw_rectangle2_mod
交互式绘制任何定向矩形。

draw_region
封闭区域的交互式绘图。
draw_xld
轮廓的交互式绘制。
draw_xld_mod
轮廓的交互式修改。

13.3 LUT ,查找表

操作符列表

get_lut
获取当前查找表(lut)。
query_lut
查询所有可用的查找表(lut)。
set_lut
设置“查找表”(lut)。

13.4 Mouse ,鼠标

操作符列表

get_mbutton
等待,直到按下鼠标按钮。
get_mbutton_sub_pix
等待,直到鼠标按钮被按下,并获得亚像素鼠标位置。
get_mposition
查询鼠标位置。
get_mposition_sub_pix
查询亚像素鼠标位置。

get_mshape
查询当前鼠标指针形状。
query_mshape
查询所有可用的鼠标指针形状。
send_mouse_double_click_event
向缓冲区窗口发送一个事件,表示鼠标双击事件。
send_mouse_down_event
向窗口缓冲区发送一个事件,表示鼠标按下事件。
send_mouse_drag_event
向缓冲区窗口发送一个事件,表示鼠标拖动事件。

send_mouse_up_event
向缓冲区窗口发送一个事件,表示鼠标向上事件。
set_mshape
设置当前鼠标指针形状。

13.5 Object ,目标

操作符列表

attach_background_to_window
将背景图像附加到HALCON窗口。
attach_drawing_object_to_window
将现有的绘图对象附加到HALCON窗口。
clear_drawing_object
删除绘图对象。
create_drawing_object_circle
创建一个可以交互修改的圆圈。

create_drawing_object_circle_sector
创建一个可交互修改的圆形扇区。
create_drawing_object_ellipse
创建一个可以交互修改的椭圆。
create_drawing_object_ellipse_sector
创建一个可以交互修改的椭圆扇区。
create_drawing_object_line
创建可以交互式修改的行。

create_drawing_object_rectangle1
创建一个与坐标轴平行的矩形,可以交互修改。
create_drawing_object_rectangle2
创建一个可以交互修改的任意方向的矩形。
create_drawing_object_text
创建一个可以交互移动的文本对象。
create_drawing_object_xld
创建可交互修改的XLD轮廓。
detach_background_from_window

从HALCON窗口分离背景图像。

detach_drawing_object_from_window
从HALCON窗口分离现有的绘图对象。
get_drawing_object_iconic
返回绘图对象的图标对象。
get_drawing_object_params
获取绘图对象的参数。
get_window_background_image
获取HALCON窗口背景图像的副本。
set_content_update_callback
为缓冲区窗口中的内容更新设置回调。

set_drawing_object_callback
给绘图对象添加一个回调函数。
set_drawing_object_params
设置绘图对象的参数。
set_drawing_object_xld
设置交互式绘制XLD的轮廓。

13.6 Output ,输出

操作符列表disp_arc
在窗口中显示圆弧。
disp_arrow
在窗口中显示箭头。
disp_channel
显示具有多个通道的图像。
disp_circle
在窗口中显示圆圈。
disp_color
显示彩色(RGB)图像

disp_cross

在窗口中显示十字架。
disp_ellipse
显示省略号。
disp_image
显示灰度值图像。
disp_line
在窗口中绘制线条。
disp_obj
显示图像对象(图像、区域、XLD)。
disp_object_model_3d
显示3D对象模型。

disp_polygon
显示折线。
disp_rectangle1
显示与坐标轴对齐的矩形。
disp_rectangle2
显示任意方向的矩形。
disp_region
在窗口中显示区域。
disp_xld
显示XLD对象。

13.7 Parameters ,参数

操作符列表

convert_coordinates_image_to_window
将图像坐标转换为窗口坐标

convert_coordinates_window_to_image
将窗口坐标转换为图像坐标
get_contour_style
获取当前轮廓显示填充样式。

get_draw
获取当前区域填充模式。
get_hsi
获取当前颜色的HSI编码。

get_icon
查看区域输出图标

get_insert
获取当前显示模式。

get_line_style
获取轮廓的当前图形模式。
get_line_width
获取轮廓显示的当前线宽。
get_paint
获取灰度值的当前显示模式。

get_part

得到图像部分。
get_part_style
获取当前灰度值显示的插值模式。
get_rgb
以rgb编码获取当前颜色。
get_rgba
在rgba编码中获取当前颜色。
get_shape
获取当前区域输出形状。
get_window_param
获取窗口参数。

query_all_colors

查询所有颜色名称。
query_color
查询窗口中显示的所有颜色名称。
query_colored
查询颜色输出的颜色个数。
query_gray
查询可显示的灰度值。
query_insert
查询可能的图形模式。

query_line_width

查询可能的线宽。
query_paint
查询灰度值显示方式。
query_shape
查询区域显示方式。
set_color
设置输出颜色。
set_colored
设置多个输出颜色。
set_contour_style
定义轮廓显示填充样式。

set_draw
定义区域填充模式。
set_gray
定义区域输出的灰度值。
set_hsi
定义输出颜色(hsii编码)。
set_icon
区域输出的图标定义。
set_insert
定义像素输出函数。

set_line_style

定义轮廓输出模式。
set_line_width
定义区域轮廓输出的线宽。
set_paint
定义灰度值输出模式。
set_part
修改显示的图像部分。
set_part_style
定义灰度值输出的插值方法。

set_rgb

通过RGB值设置颜色定义。
set_rgba
通过RGBA值设置颜色定义。
set_shape
定义区域输出形状。
set_window_param
设置窗口参数。

13.8 Text ,文本

操作符列表

disp_text
在窗口中显示文本。
get_font
获取当前字体。
get_font_extents
获取字体中所有字符的最大大小。
get_string_extents
获取字符串的空间大小。

get_tposition
获取光标位置。
new_line
将文本光标的位置设置为下一行的开头。
query_font
查询可用字体。
read_char
从文本窗口读取一个字符。
read_string
在文本窗口中读取字符串。

set_font
设置用于文本输出的字体。
set_tposition
设置文本光标的位置。
write_string
在窗口中打印文本。

13.9 Window ,窗口

操作符列表
clear_window
删除输出窗口的内容
close_window
关闭输出窗口。
copy_rectangle
复制输出窗口之间矩形内的所有像素。
dump_window
将窗口内容写入文件。
dump_window_image
将窗口内容写入一个图像对象。

flush_buffer
刷新窗口的内容。
get_disp_object_model_3d_info
获取显示的3D对象模型的深度或索引。
get_os_window_handle
获取操作系统窗口句柄。
get_window_attr
获取窗口特性。
get_window_extents
关于窗口大小和位置的信息。

get_window_pointer3
访问窗口的像素数据。
get_window_type
获取窗口类型。
new_extern_window
在Windows下创建一个虚拟图形窗口。
open_window
打开图形窗口。
query_window_type
查询所有可用的窗口类型。

set_window_attr

设置窗口特性。
set_window_dc
设置虚拟图形窗口(Windows NT)的设备上下文。
set_window_extents
修改窗口的位置和大小。
set_window_type
指定窗口类型。
unproject_coordinates
计算3D绘图窗口中点的图像坐标。
update_window_pose
修改3D情节的姿态。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值