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

图像编程

LabVIEW Vision之Overlay Bitmap覆盖位图

文章来源:石鑫华视觉网时间:2022-09-05 18:04:25 点击:414

LabVIEW Vision之Overlay Bitmap覆盖位图

本文介绍的是Overlay中的覆盖位图函数。覆盖位图功能,其作用是在图像上叠加一幅图像。虽然函数的名称是覆盖位图,但是函数本身并不仅仅限制于使用Bitmap位图。使用其它的NI支持的图像也是可以的,如JPEG、PNG、TIFF等。只不过像PNG图像,如果有Alpha透明通道的话,则不能正常显示(只能显示黑色)。这种功能可以用于添加水印等功能上。

image.png

Overlay Bitmap覆盖位图函数位置

NI LabVIEW VISION中的覆盖Overlay函数位于编程>函数>视觉与运动>Vision Utilities>Overlay,其中本节介绍的Overlay Bitmap覆盖位图函数,是第二排第三个函数IMAQ Overlay Bitmap。

image.png

IMAQ Overlay Bitmap覆盖位图函数功能与接线端

覆盖位图函数,和其它覆盖函数一样,可以适用所有NI支持的图像类型,灰度图、彩色图、8位图、16位图等等,都是可以的。下面来看一下其引脚的具体说明。

Group specifies the group to which you want to add the overlay information. If no name is specified, the overlay information is added to the default group.

组:指定你想添加的覆盖信息属于哪个组。如果没有指定名称,则覆盖的信息添加到默认的组中。覆盖信息可以分组,有可能有许多的覆盖信息,所以如果有必要,则可以对相应的覆盖信息进行分组,不过一般情况下,都不使用分组功能,这里不连接使用默认值即可。

Image is a reference to the source image.

图像:这个是图像的引用。用于连接需要覆盖的图像上。一个图像处理程序中,可能有许多的图像缓存引用,这时可能每个覆盖信息是覆盖在不同的图像上,因此要注意Image接线端连接到哪个缓存引用上。

Top Left Point specifies the location in the image where the top, left point of the bitmap is to be placed.

左上角点:指定需要放置的图像的左上角点在原始图像中的位置。因为图像是一个矩形,因此只需要确定左上角点即可确定其位置。此输入端是簇类型,包含了X、Y两个坐标值。

Bitmap is the bitmap pixels to overlay.

位图:是需要覆盖的图像的像素。因为这里需要输入的是像素值,所以已经没有限制图像类型,只要能将NI支持的图像转换成像素值即可进行覆盖。此输入端为U32的二维数组。

error in (no error) describes the error status before this VI or function runs.

错误输入:没太多介绍的,基本上NI LabVIEW函数,都有错误输入与输出。

Color is the color of the overlay. Note  The alpha color channel is not supported. Setting the Color to transparent has the same effect as selecting black.

颜色:即覆盖信息的颜色。可以使用颜色盒直接选择。注意一点的是,覆盖的颜色不能使用阿尔发颜色通道。如果设置颜色为透明,则和设置黑色的效果是一样。

Image Out is a reference to the destination image.

图像输出:已经覆盖信息后的图像引用输出。这里的图像输出,是已经覆盖了信息后的图像。因此,如果使用Image Display显示控件连接,如果连接在覆盖点函数前,则是没有覆盖的,而连接在覆盖点函数后,则是有覆盖的。当然如果在同个帧图像中进行显示,因为其时间非常快,可能看不出这种变化。

error out contains error information.

错误输出:与错误输入相同,基本上所有函数都包含了这样接线端。

下面来看一下其具体使用方法:

image.png

覆盖BMP图像

image.png

覆盖JPG图像

image.png

覆盖带Alpha透明通道的PNG图像

从中可以看到,带透明通道的图像进行想覆盖时,会将透明通道使用0值黑色来显示(上面JPG效果中的白色)。

image.png

覆盖无透明通道的PNG图像

下面再来看一下覆盖位图的程序框图:

image.png

采集图像并覆盖位图程序框图

覆盖位图功能,其实相对比较简单,只需要确定覆盖的点,还有就是要读取需要的位图。这里需要另外的两个函数,一个是IMAQ Read File读取文件函数,另一个是IMAQ Color Image to Array彩色图像转换为数组函数。当然也可能是灰度图像转换灰数组,这个要看具体覆盖的图像类型。

首页
84162741QQ
联系