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

图像编程

LabVIEW中将黑白灰度图像转换成二值图像-自动多重阈值法

文章来源:石鑫华视觉网时间:2022-09-05 12:14:15 点击:255

LabVIEW中将黑白灰度图像转换成二值图像-自动多重阈值法

IMAQ AutoMThreshold自动多重阈值函数

image.png

IMAQ AutoMThreshold自动多重阈值函数

自动多重阈值函数,是可以使用自动的方法,将一幅灰度图像二值化为多个区段的二值图像。使用此函数后,可以得到一个查找表Lookup Table,或者是自动多重阈值的数据Threshold Data。

Number of Classes:分类数量。即需要将图像分成多少个灰度类别(包含了黑色的背景0值)。

Image Mask图像掩模:Image Mask is an 8-bit image specifying the region in the image to use for the calculation. Only those pixels in the original image that correspond to an equivalent non-zero pixel in the mask image are used for the calculation. The entire image is used in the calculation if Image Mask is not connected.图像掩模是一幅8位的图像,图像中指定的区域将用于计算。原始图像中与掩模图像中的非零值像素对应的那些像素才参于计算。如果图像掩模没有连接,则整个用于计算。

Lookup Table查找表:Lookup Table is a grayscale replacement table. This input is an array containing a maximum of 256 elements if Image Src is an 8-bit image or a maximum of 65,536 elements if Image Src is a 16-bit image. Individual pixels within the image are not modified when the lookup table is missing a value that corresponds to those pixels.查找表是一个灰度替换表。这个输入是一个一维数组,如果Image Src原始图像是为8位的图像,则数组可包含最大256个元素,如果Image Src原始囚犯是16位的图像,则数组可包含最大65536个元素。当查找表中丢失一些表示那些像素的值时,与这些值对应的图像中的像素则不会被修改。

如果使用查找表数据输出,则后面可以连接IMAQ UserLookup 2 VI用户查找表函数进行二值化。

Threshold Data Out:阈值数据输出。此阈值数据输出,与多重阈值函数IMAQ MultiThreshold中的Threshold Data输入是同样的数据类型,因此当使用此数据输出时,后面可以连接多重阈值函数MultiThreshold进行多重阈值二值化。

image.png

IMAQ AutoMThreshold自动多重阈值函数+IMAQ UserLookup用户查找表函数

上图为多重阈值函数的使用方法之一。本方法中,使用的是Lookup Table输出,然后在后面配合使用了IMAQ UserLookup函数。使用此方法,也可以进行多重阈值。

在这里的使用方法中,IMAQ AutoMThreshold自动多重阈值函数和IMAQ UserLookup用户查找表函数都有Mask输入。因此可以连接Mask接线端。自动多重阈值的Mask用于计算指定Mask中的灰度,然后再将其自动二值化为指定的级数。Mask区域不同,其对应的灰度值也不同,将决定多级二值化区间的阈值也不同。而UserLookup的Mask则只决定需要针对图像中的哪个部分进行计算。不在Mask区域里的,则不计算。

因为IMAQ AutoMThreshold自动多重阈值函数输出的查找表基本上是256个元素一维数组,因此为了看到丢失查找表部分数据的效果,使用了数组子集函数,来截取部分查找表,以方便查看IMAQ UserLookup用户查找表函数的功能效果。

image.png

自动阈值Mask+查找表Mask+256级查找表效果

可以看到查找表中的Mask有效时,则只处理部分图像(二值图像中看效果,ROI外面的图像为多色点,因为使用的是二值调色板,所以是这样的效果)。

image.png

自动阈值Mask+查找表Mask+200级查找表效果

当只有200级查找表时,则丢失的查找表数据所以表示的像素不替换值,因为丢失的是255这的高位的查找表替换值,因此Mask中较白的图像则不替换,仍然使用默认的图像(多色点)。

image.png

自动阈值Mask+查找表Mask+200级查找表效果-二值图像使用Grayscale灰度调色版

image.png

Mask为整个图像+查找表长度256

自动阈值Mask、查找表Mask都是使用整个图像,查找表长度也使用了256级,则多重阈值二值化针对整个图像进行处理。本演示中,将灰度图像分级为4个级别,在二值图像中显示为黑、红、绿、蓝。

image.png

IMAQ AutoMThreshold自动多重阈值函数+IMAQ MultiThreshold多重阈值函数

上图所示的是自动多重阈值函数配合(手动)多重阈值函数进行二值化的程序框图。在此函数中,只需要考虑自动多重阈值函数的Mask即可。

image.png

自动阈值Mask使用较白部分的灰度图像进行计算

如果Mask使用较白部分的图像进行计算,则可以看到阈值数据Threshold Data中的分割阈值都比较大。

image.png

自动阈值Mask使用较黑部分的灰度图像进行计算

如果Mask使用较黑部分的图像进行计算,则可以看到阈值数据Threshold Data中的分割阈值都比较小。

image.png

自动阈值Mask使用整个图像进行计算

当Mask使用整个图像进行计算时,可以看到阈值数据比较均匀。基本上为256级四等分的样子。

首页
84162741QQ
联系