在LabVIEW中将彩色图像转换成灰度图像(或叫黑白图像),可以使用两个函数,一个是IMAQ ExtractColorPlanes,另一个是ExtractSingleColorPlane。前面一个函数,是将彩色图像指定的颜色模型中的所有颜色平面都提取出来,如果Color Mode为RGB即红绿蓝模式,那么则提取其中的红色平面、绿色平面、蓝色平面。如果是HSL模式,则提取其中的H、S、L平面等。
IMAQ ExtractColorPlanes/ExtractSingleColorPlane的位置
IMAQ ExtractColorPlanes提取颜色平面函数
Color Mode为提取颜色指定的颜色模式,即图像提取时,按照指定的颜色模型来提取其中对应的灰度图像。可以选择RGB、HSI、HSL、HSV四种颜色模式。
Image Src:为输入的原始彩色图像,即需要转换为灰度的以图像。
Red or Hue Plane:为红色或色调平面的图像缓存输入端
Green or Sat Plane:为绿色或饱和度平面的图像缓存输入端
Blue or Luma or Val or Inte…:为蓝色或亮度或值或强度平面的图像缓存输入端
Red or Hue Plane out:为红色或色调平面的图像输出端
Green or Sat Plane out:为绿色或饱和度平面的图像输出端
Blue or Luma or Val or Inte…out:为蓝色或亮度或值或强度平面的图像输出端
Error in(no error):为错误输入
Error out:为错误输出
ExtractSingleColorPlane函数则是只提取彩色图像中指定的某一个平面的灰度值。如Red红色等。通常来讲,我们得到彩色图像后,转换成灰度图像,只需要有一个平面即可,即使用ExtractSingleColorPlane函数来处理彩色图像转换成灰度图像的功能。
ExtractSingleColorPlane提取单一颜色平面函数
Color Plane:为需要提取的颜色平面,可以选择Red红色、Green绿色、Blue蓝色、Hue色调、Saturation饱和度、Luminance亮度、Value值、Intensity强度等不同的灰度平面。
Image Src:为输入的原始彩色图像,即需要转换为灰度的以图像。
Image Dst:为转换成灰度图像的图像缓存。这个输入端不是必须的,如果这个接入端没有连到另外的图像缓存中,则会使用Image Src的图像缓存。这样的话,如果经过一次转换成,Image Src缓存中的图像将转换成灰度图像,而不再是原来的彩色图像(除非另外再采集赋值过彩色图像)。因此,如果需要彩色一直保持可用状态,则需要连接Image Dst接线端,将灰度图像放置到另外一个没的缓存空间中。
Image Dst Out:为灰度图像的输出。
下面来看一下LabVIEW中将彩色图像转换成灰度图像(黑白图像)的程序代码:
LabVIEW中将采集图像转换成灰度图像
上图中的代码,同时使用了IMAQ ExtractColorPlanes、ExtractSingleColorPlane两个函数。实际应用中,请根据具体要求考虑使用其中一个即可。
LabVIEW中将彩色图像转换成灰度图像前面板效果