Halcon感兴趣区域(ROI)reduce_domain

发布时间:2023年12月30日

Halcon感兴趣区域(ROI)


ROI是Halcon中的一个很重要的概念,为了减少计算量,只关注待检测物体或该物体周围的
一片区域即可,ROI就是图像处理所关注的区域。

1. ROI的意义

创建ROI主要是出于以下两个方面的原因。
(1)因为将要处理的图像缩减到了ROI区域,需要处理的像素数减少了,对于ROI外的像素可以不处理,因此可以加快图像处理的速度。如果原图是1920像素×1280像素,那么对整幅图像进行处理的计算量是非常大的,而需要关注的区域可能只是图像中的某一部分,因此将这部分区域裁剪出来进行处理,可以减少计算量,提高效率。
(2)由于ROI可以作为形状模板,因此在模板匹配时,ROI即为匹配搜索的参考图像。

2. 创建ROl

在采集到原始图像后,即可选择关注的区域作为ROI。ROI可以是任何形状,常规的有矩形、圆形、椭圆,可以是自定义的或者是通过图像处理得出的特定区域。此时,选择的区域还不能称为ROI,它还只是形状或者说是像素范围。如果要将这部分区域变成独立的图像,还需要将其从原图上裁剪出来。
ROI的范围明确后,在Halcon中可以通过reduce_domain算子将其截取出来成为单独的一幅
图片。
这里介绍ROI的生成过程,如图所示。在这里插入图片描述
这里在原图上使用矩形ROI绘制工具指定了一个矩形的4个顶点。使用gen_rectanglel算子生成矩形ROI_0的形状,然后通过reduce_domain从原图中截取出矩形覆盖的这一部分的图像,即为ROI,命名为ImageReduced。在窗口中显示 ImageReduced的内容,即为所关注的ROI图像。实现代码参考如下:

dev_close_window ()
*读取测试图像
read image (Image _display,'data/display')
*获取图像的尺寸
get_image _size (Image _display, imagewidth, imageHeight)
*新建显示窗口,适应图像尺寸
dev_open_window (0, 0, imagewidth, imageHeight, 'black', WindowHandle)
dev_display (Image_display)
*选择ROI,指定矩形顶点坐标
gen_rectanglel (ROI_0, 52, 46, 456, 574)
*从原图中分割出ROI
reduce_domain (Image _display, ROI_0, reducedtmage)
*在新窗口中显示分割后的ROI图像
dev open window (0, 400, imageWidth, imageHeight, 'black', WindowHandlel)
dev _display (reducedImage)
文章来源:https://blog.csdn.net/fallingleafgrief/article/details/135230823
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。