halcon中用于显示调试的常用算子解析

显示或调试过程中常用的功能实现

1. 控制区域region显示边缘还是填充

例:在例程check_blister_mixed中,每个药片所在区域与利用GMM分类后的区域在可视化中是不同的需求,矩形区域我们想显示边缘,用于分类的部分区域显示全部内容,效果如下:
在这里插入图片描述
在这里插入图片描述
实现如上效果,用到的算子如下:

  • dev_open_window_fit_image
  • dev_close_window
  • dev_set_draw
  • dev_display

代码如下:

* 关闭窗口
dev_close_window()

* 打开一个与目标图像大小相同的窗口
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)

* 设置显示边缘
dev_set_draw ('margin')

* 显示区域边缘
dev_display(Chambers)

* 设置显示全部填充
dev_set_draw ('fill')

* 显示区域
dev_display(Classes)

2. 控制区域region显示颜色

如果发现多个区域的颜色总是同一种颜色,则要看一下代码中是否调用了dev_set_color算子

blister_04_Pills

当要可视化一个或多个区域region时,有时想要控制其显示颜色或者在多个区域时自动填充不同颜色时,我们会用到如下函数:

  • dev_display
  • dev_set_color:设置为单一颜色,然后调用dev_display
  • dev_set_colored:设置为多个颜色通道

常用算子介绍

dev_update_window

在程序运行过程中开启或关闭自动将图形输出对象输出到图形窗口。

dev_update_window( : : DisplayMode : )

DisplayMode (input_control) string → (string)
Mode for graphic output.
Default value: ‘off’
List of values: ‘off’, ‘on’

注解:

  • 该算子用来开关在程序运行过程中,在图形窗口自动显示图形对象

  • 作用是减少整个程序的耗时,单步调试时无效

  • 设置为off后,若还想显示图像,则需调用dev_display

  • 用法为

    dev_update_window ('off')
    
    dev_update_window ('on')
    

dev_open_window

打开一个新的图形窗口。

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

参数为:

  • Row:左上角的行索引。
  • Column:左上角的列索引。
  • Width:窗口的宽度。
  • Height:窗口的高度。
  • Background :新窗口的背景颜色。
  • WindowHandle:窗口句柄
dev_open_window (0, 0, 728, 512, 'black', WindowID)

dev_open_window_fit_image

打开一个新的图形窗口,保持给定图像的宽高比。

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

参数为:

  • Image :图像调整为新窗口所适应的大小
  • Row:新窗口左上角的行坐标
  • Column:新窗口左上角的列坐标
  • WidthLimit:窗口宽度的限制
  • HeightLimit :限制窗口高度
  • WindowHandle:新图形窗口的窗口句柄
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)

dev_close_window

关闭活动图形窗口。

dev_close_window( : : : )

dev_set_line_width

定义区域轮廓输出的线宽。

dev_set_line_width( : : LineWidth : )

  • LineWidth :轮廓模式下区域输出的线宽。

dev_set_color

设置一个或多个输出颜色。

dev_set_color( : : ColorName : )

ColorName (input_control) string(-array) → (string)
Output color names.
Default value: ‘white’
Suggested values: ‘white’, ‘black’, ‘gray’, ‘red’, ‘green’, ‘blue’, ‘#003075’, ‘#e53019’, ‘#ffb529’

image-20210608194534335

dev_set_colored

在设置不同区域颜色显示时有用

设置多个输出颜色

dev_set_colored( : : NumColors : )

  • NumColors :3, 6, 12

注释:

当使用dev_set_color设置某一固定颜色后,多个区域的显示总是该设定颜色

此时可调用dev_set_colored来恢复多个颜色通道

dev_set_draw

在单步调试过程中这是一个非常实用的算子,可以针对不同类别的区域做可视化

定义区域填充模式。

dev_set_draw( : : DrawMode : )

  • DrawMode : ‘fill’, ‘margin’

注释:

fill表示区域填充

margin表示只显示区域边缘

配合dev_display,可以很好的可视化反应过程

dev_display

在当前图形窗口中显示图像对象

dev_display(Object : : : )

  • Object :要显示的图像对象
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值