halcon基础算子介绍(窗口创建,算子运行时长,是否启用更新函数)
前言
halcon有有大约1500个算子,我总结一些简单大家用得到的算子,比如创建窗口的方式有3种,接下来结束这方式,及其异同点等!
1.窗口创建的三种方式
1.1使用dev_open_window算子
dev_open_window表示打开一个400x400的窗口,图片有自适应缩放大小,去填充窗口。
*读取图像
read_image(Image,'123.png')
*打开图像窗口
dev_open_window(0,0,400,400,'white',WindowID)
*显示图像
dev_display(Image)
1.2使用dev_open_window_fit_image
窗口适应图片,会按照图片的大小比例去调整窗口。
*读取图像
read_image(Image,'123.png')
*打开图像窗口
dev_open_window_fit_image (Image, 0, 0, 400,400, WindowHandle)
*显示图像
dev_display(Image)
1.3dev_open_window_size_image
窗口不管多大,图片不缩放,显示它原始的比例。
*读取图像
read_image(Image,'123.png')
*打开图像窗口
dev_open_window_size_image(0,0,400,400,'white',WindowID)
*显示图像
dev_display(Image)
区别
算子 | dev_open_window | dev_open_window_fit_image | dev_open_window_size_image |
---|---|---|---|
区别 | 会随着的窗口的大小,图片会被拉伸 | 图片会按照的窗口的大小去适应调整比例缩放 | 图片不会有任何变化,我行我素,按照图片的比例显示,不会关心窗口大小 |
2.如何计算算子的运行时长
使用的是count_seconds算子,可以记录算子的运行时间,在算子的前后分别记录count_seconds的时间,通过后者(t2)-前者(t1),得到的t3就是算子的运行时间。
*开始记录算子的时间
count_seconds(t1)
*打开窗口
dev_open_window_fit_size (0, 0, 640, 480, -1, -1, WindowHandle1)
*显示图片
dev_display(Image)
*记录算子的结束时间
count_seconds(t2)
*计算算子运行时间
t3:=(t2-t1)*1000
3.设置halcon是否启用更新
dev_update_off和dev_update_on设置程序是否启用更新,在控制的区域,程序不可以调试,可以加快程序的运行速度。
*关闭更新
dev_update_off()
*打开窗口
dev_open_window_fit_size (0, 0, 640, 480, -1, -1, WindowHandle1)
*显示图片
dev_display(Image)
*启用更新
dev_update_on()
总结
函数各有各的优势,在合适的场景使用合适的方式。