石鑫华视觉 发表于 2014-3-15 12:45:27

为什么在视觉助手中可以使用彩色图像,生成VI后就出错。

有些同志会经常有这样的疑问,在视觉助手、VBAI中使用彩色图像,然后再使用抽取颜色平面函数,得到灰度图像,都是可以正常使用的。但是生成VI后,在LabVIEW中总是显示图像无效的错误提示。

其实这个问题,通常是提取颜色平面函数的原始图像已经变成了灰度图像所致。
而造成原始图像变成灰度图像的原因,第一种原因是由于在创建图像缓存时,并没有指定缓存的数据类型,而函数的默认图像类型为U8的灰度图。因此在加载彩色图像时,则只会显示红色平面。

要想解决此问题,只需要在Create函数Image Type中选择适合的类型RGB即可。

另一种原因,则是在WHILE循环中,循环处提取颜色平面。这种情况通常第一次是正常的,因为第一次加载的是彩色图像,而提取颜色平面函数为了方便,没有使用Image Dst,这时提取的灰度图像将放置到Image Src中,会将原始的彩色图像用提取后的灰度图像替换。这时Image SRC中也就变成了灰度图像,这时再提取Image Src,则会出现类型错误。这里只需要连接Image Dst(U8图像类型),不覆盖原始图像的空间,即可解决该问题。可参考以下主题:
LabVIEW Vision同一彩色图片多次抽取不同的颜色平面
http://visionbbs.com/thread-1824-1-1.html


wang4238501 发表于 2015-8-18 09:02:18

机器视觉,专业的石鑫华视觉http://shixinhua.com,专业的机器视觉论坛http://labviewvision.com

2044164034 发表于 2015-8-31 23:59:26

机器视觉,专业的石鑫华视觉http://shixinhua.com,专业的东莞华视自动化科技有限公司http://labviewvision.com
页: [1]
查看完整版本: 为什么在视觉助手中可以使用彩色图像,生成VI后就出错。

LabVIEW HALCON图像处理入门教程(第二版)
石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24