Haclon 一些关于显示的基本算子(1)

1. 算子

只介绍常用的算子:

1.1 打开窗口

dev_open_window( : : Row, Column, Width, Height, Background : WindowHandle)

1.2 打开一个适合图像尺寸的窗口

dev_open_window_fit_image(Image : : Row, Column, WidthLimit, HeightLimit : WindowHandle)

1.3 清空当前窗口

dev_clear_window( : : : )

1.4 关闭当前窗口

dev_close_window( : : : )

1.5 获得窗口句柄

dev_get_window( : : : WindowHandle)

1.6 设置窗口更新状态

dev_update_window( : : DisplayMode : )//窗口实时刷新会减慢速度

1.7 设置区域线宽

dev_set_line_width( : : LineWidth : )

1.8 设置区域填充模式

dev_set_draw( : : DrawMode : )

1.9 设置输出颜色数量

dev_set_colored( : : NumColors : )

1.10 设置颜色

dev_set_color( : : ColorName : )

1.11 设置字体

set_display_font( : : WindowHandle, Size, Font, Bold, Slant : )
* 窗口句柄/大小/字体类型/是否加粗/是否倾斜

1.12 显示信息

disp_message( : : WindowHandle, String, CoordSystem, Row, Column, Color, Box : )
* 窗口句柄/需要显示的字符串/坐标系('image'or'window')/行列坐标/是否要底色

1.13 显示图像/区域/XLD

dev_display(Object : : : )

1.14 保存窗口图像

dump_window( : : WindowHandle, Device, FileName : )//包括窗口中的轮廓、字体等信息

1.15 获得窗口图像

dump_window_image( : Image : WindowHandle : )//包括窗口中的轮廓、字体等信息

2. Halocn例程代码

在这里插入图片描述
在这里插入图片描述

halcon代码

* 下面的while循环是为了关闭当前所有的窗口
* 获取窗口句柄,如果句柄为不是-1,则关闭当前窗口
dev_get_window (WindowHandle)
while (WindowHandle != -1)
    dev_close_window ()
    dev_get_window (WindowHandle)
endwhile

* 然后读入一张图像
read_image (Image, 'fabrik')

* 这个算子就非常简单了,也是最常用的
* 前面4个参数分别表示窗口左上角点的行列坐标以及窗口的宽度和高度
* 接下来是背景色、窗口句柄 
dev_open_window (0, 0, 400, 200, 'black', WindowHandle)

* 把图像显示在这个窗口上,显然此时窗口的比例和图像是不一致的
dev_display (Image)

stop ()

* 将窗口清除一下,这个清除也针对的是当前活跃的窗口而言的
dev_clear_window ()

* 打开一个新的窗口,这次按照图像的真实尺寸来打开,当然要注意的是窗口宽度和高度的参数要设置为-1,-1
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle1)
* 然后再把图像显示上去看一下
dev_display (Image)

stop()

* 设置线宽
dev_set_line_width (3)
* 设置颜色
dev_set_color ('blue')
disp_line (WindowHandle1, 0, 0, 173, 100)
dev_set_color ('green')
disp_line (WindowHandle1, 0, 0, 100, 173)
dev_set_color ('red')
disp_arc (WindowHandle1, 0, 0, rad(90), 0, 200)

stop()

* 设置颜色数量
dev_set_colored (3)  //窗口只会显示3种颜色
auto_threshold (Image, Regions, 2)

* 设置区域的填充模式
dev_clear_window ()
dev_set_draw ('margin') //只显示边缘
dev_display (Regions)

dev_clear_window ()
dev_set_draw ('fill') //全部填充
dev_display (Regions)

dev_display (Image)

* 设置字体
set_display_font (WindowHandle1, 36, 'serif', 'true', 'true')
* 显示信息
disp_message (WindowHandle1, '12345678', 'window', 12, 12, 'green', 'true')
disp_message (WindowHandle1, '12345678', 'window', 62, 12, 'blue', 'false')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MechMaster

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值