注册登陆后可查看附件和大图,以及购买相关内容
您需要 登录 才可以下载或查看,没有账号?注册会员
x
LabVIEW中将黑白灰度图像转换成二值图像-自动多重阈值法视觉论坛IMAQ AutoMThreshold自动多重阈值函数
IMAQ AutoMThreshold自动多重阈值函数
IMAQAutoMThreshold自动多重阈值函数 自动多重阈值函数,是可以使用自动的方法,将一幅灰度图像二值化为多个区段的二值图像。使用此函数后,可以得到一个查找表Lookup Table,或者是自动多重阈值的数据Threshold Data。 Number of Classes:分类数量。即需要将图像分成多少个灰度类别(包含了黑色的背景0值)。 Image Mask图像掩模:Image Mask is an 8-bit image specifying the region inthe image to use for the calculation. Only those pixels in the original imagethat correspond to an equivalent non-zero pixel in the mask image are used forthe calculation. The entire image is used in the calculation if Image Mask isnot connected.图像掩模是一幅8位的图像,图像中指定的区域将用于计算。原始图像中与掩模图像中的非零值像素对应的那些像素才参于计算。如果图像掩模没有连接,则整个用于计算。 Lookup Table查找表:Lookup Table is agrayscale replacement table. This input is an array containing a maximum of 256elements if Image Src is an 8-bit image or a maximum of 65,536 elements ifImage Src is a 16-bit image. Individual pixels within the image are notmodified when the lookup table is missing a value that corresponds to thosepixels.查找表是一个灰度替换表。这个输入是一个一维数组,如果Image Src原始图像是为8位的图像,则数组可包含最大256个元素,如果Image Src原始囚犯是16位的图像,则数组可包含最大65536个元素。当查找表中丢失一些表示那些像素的值时,与这些值对应的图像中的像素则不会被修改。 如果使用查找表数据输出,则后面可以连接IMAQ UserLookup 2 VI用户查找表函数进行二值化。 Threshold Data Out:阈值数据输出。此阈值数据输出,与多重阈值函数IMAQ MultiThreshold中的Threshold Data输入是同样的数据类型,因此当使用此数据输出时,后面可以连接多重阈值函数MultiThreshold进行多重阈值二值化。 IMAQAutoMThreshold自动多重阈值函数+IMAQ UserLookup用户查找表函数 上图为多重阈值函数的使用方法之一。本方法中,使用的是Lookup Table输出,然后在后面配合使用了IMAQ UserLookup函数。使用此方法,也可以进行多重阈值。 在这里的使用方法中,IMAQ AutoMThreshold自动多重阈值函数和IMAQ UserLookup用户查找表函数都有Mask输入。因此可以连接Mask接线端。自动多重阈值的Mask用于计算指定Mask中的灰度,然后再将其自动二值化为指定的级数。Mask区域不同,其对应的灰度值也不同,将决定多级二值化区间的阈值也不同。而UserLookup的Mask则只决定需要针对图像中的哪个部分进行计算。不在Mask区域里的,则不计算。 因为IMAQ AutoMThreshold自动多重阈值函数输出的查找表基本上是256个元素一维数组,因此为了看到丢失查找表部分数据的效果,使用了数组子集函数,来截取部分查找表,以方便查看IMAQ UserLookup用户查找表函数的功能效果。
自动阈值Mask+查找表Mask+256级查找表效果
自动阈值Mask+查找表Mask+256级查找表效果 可以看到查找表中的Mask有效时,则只处理部分图像(二值图像中看效果,ROI外面的图像为多色点,因为使用的是二值调色板,所以是这样的效果)。
自动阈值Mask+查找表Mask+200级查找表效果
自动阈值Mask+查找表Mask+200级查找表效果 当只有200级查找表时,则丢失的查找表数据所以表示的像素不替换值,因为丢失的是255这的高位的查找表替换值,因此Mask中较白的图像则不替换,仍然使用默认的图像(多色点)。
自动阈值Mask+查找表Mask+200级查找表效果-二值图像使用Grayscale灰度调色版
自动阈值Mask+查找表Mask+200级查找表效果-二值图像使用Grayscale灰度调色版
Mask为整个图像+查找表长度256
Mask为整个图像+查找表长度256 自动阈值Mask、查找表Mask都是使用整个图像,查找表长度也使用了256级,则多重阈值二值化针对整个图像进行处理。本演示中,将灰度图像分级为4个级别,在二值图像中显示为黑、红、绿、蓝。 IMAQAutoMThreshold自动多重阈值函数+IMAQ MultiThreshold多重阈值函数 上图所示的是自动多重阈值函数配合(手动)多重阈值函数进行二值化的程序框图。在此函数中,只需要考虑自动多重阈值函数的Mask即可。
自动阈值Mask使用较白部分的灰度图像进行计算
自动阈值Mask使用较白部分的灰度图像进行计算 如果Mask使用较白部分的图像进行计算,则可以看到阈值数据Threshold Data中的分割阈值都比较大。
自动阈值Mask使用较黑部分的灰度图像进行计算
自动阈值Mask使用较黑部分的灰度图像进行计算 如果Mask使用较黑部分的图像进行计算,则可以看到阈值数据Threshold Data中的分割阈值都比较小。
自动阈值Mask使用整个图像进行计算
自动阈值Mask使用整个图像进行计算 当Mask使用整个图像进行计算时,可以看到阈值数据比较均匀。基本上为256级四等分的样子。 自动多重阈值程序源代码下载,LabVIEW2013版及以后版本可用:
|