石鑫华视觉 手机微信QQ:13450001061 / 18038383457

图像编程

LabVIEW Vision-IMAQ Overlay ROI覆盖兴趣区域

文章来源:石鑫华视觉网时间:2022-09-05 18:23:02 点击:895

LabVIEW Vision-IMAQ Overlay ROI覆盖兴趣区域

在做图像处理程序时,经常会要显示兴趣区域,特别是当程序有多个测量位置包含多个兴趣区域时,利用当前的兴趣区域可能无法显示其它历史步骤中的兴趣区域,这时就需要将历史的兴趣区域显示出来。显示历史兴趣区域,有两种办法,一种是将历史兴趣区域的值赋值给Image控件的ROI属性,这个可以参考以下帖子:

LabVIEW Vision扫盲:ROI兴趣区域基本概念http://labviewvision.com/thread-4999-1-14.html

Image显示控件属性之ROI http://labviewvision.com/thread-7880-1-12.html

LabVIEW Image控件兴趣区域交互设置的实现 http://labviewvision.com/thread-6024-1-1.html

另一种方法,则是使用覆盖函数组中的IMAQ Overlay ROI覆盖兴趣区域函数。其函数使用效果如下图所示:

image.png

IMAQ Overlay ROI覆盖兴趣区域函数效果

图中,面采集图像中的是使用ROI工具直接画的ROI,下面的打开图像显示控件中,则是使用覆盖兴趣区域函数进行覆盖ROI得到的效果。下面来看一下函数的具体应用。

image.png

IMAQ Overlay ROI覆盖兴趣区域函数位置

image.png

IMAQ Overlay ROI覆盖兴趣区域函数接线端

ROI Descriptor is a descriptor that defines the region of interest to overlay on the image.

   Global Rectangle contains the coordinates of the bounding rectangle.

   Contours are each of the individual shapes that define an ROI.

       ID refers to whether the contour is the external or internal edge of an ROI.

       Type is the shape type of the contour.

       Coordinates indicates the relative position of the contour.

兴趣区域描述符:是一个定义了覆盖到图像上的兴趣区域的簇。其中包含了:

全局矩形:包含了所有内部兴趣区域的外接矩形坐标点。一个图像上可能有画有多个ROI,而包含这些所有ROI的外接矩形,则为全局矩形。是一个一维数组。因为这种外接矩形是非旋转矩形,所以只有4个元素。

轮廓:是每个兴趣区域的单独形状,是一维数组。即多个ROI时,可能会有线、矩形、圆、弧等多个形状的ROI,则由轮廓中的数组来表示。每一个形状的ROI为一个数组元素。而这些数组元素则是由另外一个簇表示的,包含了:

    标识:指定轮廓是ROI边缘的外部或内部区域。这个ID与ROI函数中的Contours Type轮廓类型是同一个变量。只是不同的表示方法而已(这个在NI的视觉中经常见到这样的名称不同但为同一概念的定义)。

    类型:指定兴趣区域轮廓的具体形状类型。这个在ROI中定义为ROI Type兴趣区域类型,也是同一概念。

    坐标:表示轮廓的在图像中的相对位置。很多ROI形状也只有4个元素,如直线、矩形等,这样的ROI的坐标与全局轮廓还是重合的。而像点ROI,则只有2个坐标,但是全局矩形仍然会有4个坐标。而当使用多段线时,则肯定有大于等于4个坐标点。

Point Symbol is a bitmap that describes the symbol to use for a point ROI. If not specified, the VI overlays a single point for a point ROI.

点符号:是一个描述点兴趣区域的图像符号。如果不指定,则函数默认覆盖一个单独的点来表示点ROI区域。如果连线了,则NI视觉默认使用的是一个黑色十字。

Colors (Green) is an array of colors associated with each of the ROIs described in the ROI descriptor.

颜色数组(绿色):是一个数组,用于描述每一个兴趣区域的颜色。当有多个ROI需要覆盖时,指定不同的颜色,则覆盖的ROI以不同的颜色来显示。

下来面看一下程序框图,本程序框图和复制覆盖函数的比较类似:

image.png

停止事件

image.png

采集图像事件

image.png

获取ROI值事件

这个获取ROI值事件,用于获取采集图像显示控件当前的ROI具体值,并显示在前面板的ROI控件中,以方便查看具体效果。

image.png

打开图像事件

image.png

覆盖ROI事件

覆盖ROI事件中,将采集图像的ROI属性连接到覆盖兴趣区域的ROI Descriptor中。

image.png

点ROI的覆盖效果

点ROI是所有兴趣区域中唯一不同的,他需要由Point Symbol来指定具体的形状和颜色。

image.png

自定义的点符号

image.png

覆盖点+直线

image.png

覆盖点+直线+矩形

image.png

覆盖点+直线+矩形+椭圆

image.png

覆盖点+直线+矩形+椭圆+环

从上面的图像中可以看到,当指定的颜色数组没有ROI数量多时,则以最后一个指定的颜色为准。

首页
84162741QQ
联系