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

图像编程

LabVIEW Vision-IMAQ Merge Overlay合并覆盖

文章来源:石鑫华视觉网时间:2022-09-05 18:20:03 点击:770

LabVIEW Vision-IMAQ Merge Overlay合并覆盖

将测量的结果信息保存在图像中,这个功能在实际项目中应用是非常多的。本节将介绍如何将结果信息保存到图像中。

结果信息保存到图像中,有两种方法,一种是将结果信息保存成Info,相当于图像的附加属性,就如我们使用有些数码相机、手机等,图片中保存了相机信息,以及拍照时的快门、ISO等参数信息在里面一样。这种保存方法,在图像中是无法直接查看的,得通过读取Info信息后才能知道。但是这种方法保存的信息,不会破坏原始图像的数据。另一种方法是将信息直接合并到图像中,就如数码相机中的将拍照日期、时间、地点等信息直接合并到图像中,这种方法是在破坏原始图像数据的,即覆盖处的数码会被覆盖信息替换掉且不能复原,但是这样可以直接查看合并信息,比较直观。本节介绍的就是后一种方法。其效果如下,上面的左右图是进行覆盖,然后保存。保存的图像并没有覆盖信息(没保存)。下面的左右图则是合并覆盖后再保存的,保存的图像包含了覆盖直线的信息。

image.png

Merge Overlay合并覆盖效果

下面来看一下合并覆盖的具体应用。

image.png

IMAQ Merge Overlay合并覆盖函数的位置

image.png

IMAQ Merge Overlay合并覆盖函数接线端与说明

Groups is an array of strings consisting of the overlay group names to merge to the image. If no names are specified, all available groups are merged.

组(数组)是一个数组,包含了所有需要合并覆盖的组名称。如果没有指定名称,则所有可用的组都将合并到图像中。

Image Src is a reference to the source image.

原始图像:是包含了覆盖的原始图像的引用,必须连接。

Image Dst is the reference to the destination image. If connected, Image Dst is converted to an RGB image. If not connected, Image Src is converted to an RGB image.

目标图像:是合并覆盖后图像需要放置到的目标图像缓存引用。如果连接了,则合并后的图像放置到目标图像中,如果没有连接,则合并后的图像仍然放在原始图像的缓存中。因为合并覆盖的覆盖线是彩色的,所以合并覆盖后的图像一定是彩色的,这时如果目标图像连接了,则无论其分配的缓存是灰度还是彩色,都将转换成RGB彩色图像。而如果不连时,则原始图像强制转换成彩色图像。

Color Palette is used to apply a color palette to the image. Color Palette is an array of clusters constructed by the user or supplied by the IMAQ GetPalette VI. This palette can be composed of up to 256 elements for each of the three color planes (red, green, and blue). If the array has less than 256 elements, the VI maps all pixel values past the last element in the array to the associated grayscale value.

A specific color is the result of applying a value between 0 and 255 for each of the three color planes. If the three planes have identical values, a gray level is obtained (0 specifies black, and 255 specifies white). The default is a grayscale palette. The color palette can be used only for 8-bit images.

Tip  For best results, set your video adapter to high color or true color.

Red is the value of the red color plane.

Green is the value of the green color plane.

Blue is the value of the blue color plane.

颜色调色板:是对图像使用颜色调色板。调色板是由用户构建或由IMAQ GetPalette获取调色板函数得到的一个簇组成的数组。调色板每个元素有红、绿、蓝三种颜色平面,共计256个元素(以对应灰度级的256级)。如果调色板中的数组元素没有256个,则将与大于数组元素数量对应的灰度值全部映射到调色板最后一个元素上。

一个指定的颜色其中的三个颜色平面的值在0~255之间。如果红绿蓝三个平面拥有相应的值,则得到一个灰度调色板(0为黑色、255为白色)。默认的调色板为灰度调色板。颜色调色板仅能用于8位的灰度图像。

提示:为了最佳效果,请设置你的显示器为高采或真彩。

红:是红色平面的值。

绿:是绿色平面的值。

蓝:是蓝色平面的值。

下面来看一下具体的程序框图。本函数的程序框图仍然使用的是While循环+事件结构。

image.png

停止事件

image.png

采集图像事件

image.png

覆盖直线事件

image.png

合并覆盖事件

合并覆盖函数的调用是比较简单的,上面的图是彩色图像,只需要连接原始图像、目标图像引用即可。

image.png

保存图像事件

这里做了一个保存图像的事件,以查看合并覆盖前和合并覆盖后的图像效果。

image.png

采集图像

image.png

覆盖直线

image.png

合并覆盖

image.png

合并覆盖效果

可以看到,合并覆盖后的图像中多了一条红色的覆盖线。而且从图像细节上,也可以知道,覆盖是替换一个像素的值,当图像放大时,可以看到方形的像素,而覆盖则只是在图像上覆盖了一条线,要平滑许多,仍然看起来是线条。

image.png

覆盖和合并覆盖后的细节差别

下面再来看一下针对灰度图像的效果。

image.png

灰度图像合并覆盖

本演示程序中因为使用的是彩色相机,所以在合并前,利用Extract Single Color Plane抽取单一颜色平面函数将彩色图像转换成灰度图像。颜色调色板则使用了IMAQ Get Palette获取调色板函数直接得到调色板,也可以方便查看使用不同的调色板,其效果有何差别。程序的其它部分和彩色图像上是一样的。下面来看一下实际效果。

image.png

采集图像-是彩色图像

image.png

覆盖直线-仍然是彩色图像

image.png

合并覆盖-Gray灰度调色板-原始图像变成8灰度图像

image.png

Binary二值调色板合并覆盖

image.png

Gradient梯度调色板

image.png

Rainbow彩虹调色板

image.png

Temperature温度调色板

image.png

不同调色板保存后的图像效果

首页
84162741QQ
联系