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

图像编程

LabVIEW中黑白灰度图像转换成二值图像-手动阈值法

文章来源:石鑫华视觉网时间:2022-09-05 12:13:17 点击:313

LabVIEW中黑白灰度图像转换成二值图像-手动阈值法

在LabVIEW中,要将黑白图像/灰度图像转换成二值图像(只有两个值的图像,通常是0和1或0和255),是有许多个函数的,有手动阈(念yù,不念fá)值Threshold函数,多重手动MultiThreshold阈值,自动阈值AutoBThreshold,自动多重阈值AutoMThreshold,局部阈值Local Threshold等许多个函数可以实现。

image.png

LabVIEW中的二值化函数在程序函数选项卡中的位置

IMAQ Threshold阈值函数(手动阈值函数)

image.png

IMAQ Threshold阈值函数

Keep/Replace Value(Replace):为保持/替换值(替换)选项。即符合Range阈值范围内的值,是被替换成指定的值Replace Value,还是保持不变。替换成指定的值,是指将阈值范围内的值统一替换成某一种颜色,如红色,这时图像显示控件的调色板类型Palette Type需要设置成Binary二值模式才可以正常的显示,不在阈值范围内的值,则变成黑色。保持不变,则将阈值范围内的值保持原有值不变,而不在阈值范围内的值则变成黑色。这时Threshold函数的Replace Value是无效的。这是要正常显示,因为其包含了灰度值,则需要将Image显示控制的调色板类型Palette Type设置成Grayscale灰度模式。

Image Src:原始图像,即需要转换的灰度图像。

Image Dst:目标图像,即转换后的二值图像。原始图像、目标图像,都是指图像缓存的地址引用。并不指图像数据本身。NI所有的视觉函数中的Image Src、Image Dst都是如此定义的。

Range:阈值范围。是一个簇元素,里面有两个值,一个Lower Value较低值,一个Upper Value较高值。在指定的较低值、最高值范围内的值为目标特征,而不在此范围内的值,全部变黑(值为0)

Replace Value:替换值。即将阈值范围内的值替换成什么值。替换值包含了15个值,在灰度256级范围内,可以有17个循环。下表中的g为替换值,也表示了灰度值。即当使用替换值时,如果调色板没有设置成Binary模式,则会将替换值显示了灰度值。如替换值为1,则其使用的调色版是红色的,为2时,则为绿色的,……,为15时,为长春花色;16时,则又变成红色,17是为绿色……,当g=255时,则直接显示为白色,不再使用调色板中的颜色显示。如果使用Grayscale灰度模式显示时,则替换值g=1时,则替换值的灰度值为1,替换值为2时,则为2……g=100时,灰度值为100,g=255时,则灰度值也为255。另外 g值不要设置为0。如果为0时,则和背景是一样的颜色,无法区分阈值效果。

image.png

扩展阅读:

关于LabVIEW中二值化后图像显示全黑的问题http://shixinhua.com/image/5466.html

Iamge Dst Out:目标图像输出。如果Image Dst没有连接,则转换后的图像存储在Image Src的地址中,而Image Src中的原来的灰度图像则被覆盖掉。因此,如果要保留Src中的图像,则Dst必需另外指定缓存。

image.png

阈值函数使用方法

image.png

阈值函数使用效果

首页
84162741QQ
联系