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

图像编程

LabVIEW Vision两幅图像叠加的三种方法

文章来源:石鑫华视觉网时间:2022-09-06 11:36:54 点击:573

LabVIEW Vision两幅图像叠加的三种方法

有些时候可能需要叠加两幅图像,这时可以直接使用运算中的加来叠加两幅图像:

image.png

两幅图像直接叠加效果图

image.png

两幅图像直接叠加程序框图

但是从上面的效果图中可以看到。如果两幅图像都比较白时,则会丢失数据。上面的是两幅8位灰度图的叠加,输出的图像仍然是8位图。而8位图像最大值为255。这时,只要两幅图像对应的像素点的值之和大于255时,就会变成全白的,也就是溢出丢失数据。例如,1图中的点灰度值为200,2图中对应点灰度值为180时,这时两个点之和为380。但是在输出的叠加图像中,只能有最大255的灰度值。可以从上面的效果图中看到,两幅图像的卡片处因为比较白,叠加后丢失了很多信息,很多都变成全白的了。

一种比较有效避免这种问题的方法,就是将原始U8灰度图像转换成U16图像,然后再使用加法计算其值。再将叠加后的U16位图像转换成U8图像,这时叠加后的图像不会丢失信息。但是两幅图像的所有信息会变化。或者是先将原始的两个U8灰度图像分别除以2,这时最大值只有128,然后再叠加,这时最大值为256,会强制变成255,但时这时只会丢失1个灰度级的信息。

image.png

U8转U16后叠加效果

image.png

U8转16后叠加程序框图

使用这种方法,可以对移位的位数进行控制。例如可以移位2位,这时叠加后的图像会更黑一些:

image.png

U8转U16后叠加效果-移位2位

下面的效果则为U8除以2以后再叠加

image.png

U8除以2后再叠加效果图

image.png

U8除以 2后再叠加程序框图

当然,其实还有一些方法,如NI的范例中就还有一种叠加方法Image to EDVR。不过个人觉得不是很直接。大家有兴趣可以去研究下。NI范围的运算符下的平均值,也是转换成U16叠加后求平均值后再转换成U8的。

image.png

NI范例-Image to EDVR

首页
84162741QQ
联系