石鑫华视觉 发表于 2013-8-23 00:15:23

LabVIEW中二值化后图像显示全黑的解决办法

本帖最后由 石鑫华视觉 于 2014-4-6 11:07 编辑

LabVIEW中二值化后图像显示全黑的解决办法
很多新入门的同学,经常会问在VBAI、视觉助手中使用同样的阈值方法,都可以得到想要的图像-红色特征的图像。但是在LabVIEW中使用相同的方法、相同的设置得到的图像却是全黑的。这是为什么呢?
其实这个问题对于熟悉的人来讲,不是问题,对于入门的人来讲就是问题。解决这个问题的根本方法是需要对图像的调色板(Palette)及阈值替换值有一定的了解。
http://visionbbs.com/data/uploads/allimg/130823/2-130R3001051.jpg
图1 二值化后显示全黑
默认情况下,创建的Image显示控件使用的调色板是灰度模式的,可以在Image控件上点击鼠标右键,如下图所示:
http://visionbbs.com/data/uploads/allimg/130823/2-130R3001053.jpg
图2 Image控件的Palette属性默认使用Grayscale灰度模式
在这种模式下,二值化后得到的图像,如果阈值的替代值不做更改也使用默认值1的话,图像中能显示的就是0与1两种灰度值。这样看起来,当然是“全黑”的了,0与1的灰度,相邻一般人是看不出来,除非你有火眼金睛。
这时好几种方法可以显示出想要的特征,第一种方法,就是如图2中将Palette调色板属性改成Binary二值模式,即可显示红色特征:
http://visionbbs.com/data/uploads/allimg/130823/2-130R3001055.jpg
图3 使用Palette为Binary-显示正常
当然也可以调用Palette属性进行控制,将此属性放置在色彩模式变换后即可,这种方法也可以用于彩色图像转换成灰度图像后:
http://visionbbs.com/data/uploads/allimg/130823/2-130R3001057.jpg
图4 使用属性节点进行显示控制
第三种方法则是将阈值的替换值换成比较大的值,如255,或者是128,至少可以与0有比较大的差距。替换值,当使用Binary显示模式时,是将特征目标使用查找表中的颜色进行替换,如1为红色,2为绿色,3为蓝色,4为黄色,5为粉色,6为天蓝……255则为白色。
http://visionbbs.com/data/uploads/allimg/130823/2-130R3001059.jpg
图5 二值调色板替换值为2时为绿色
http://visionbbs.com/data/uploads/allimg/130823/2-130R3001101.jpg
图6 二值调色板替换值为3时为蓝色
http://visionbbs.com/data/uploads/allimg/130823/2-130R3001103.jpg
图7 二值调色板替换值为254时为淡绿色
http://visionbbs.com/data/uploads/allimg/130823/2-130R3001104.jpg
图8 二值调色板替换值为255时为白色
http://visionbbs.com/data/uploads/allimg/130823/2-130R3001106.jpg
图9 二值调色板时替换值为128时显示为水红
http://visionbbs.com/data/uploads/allimg/130823/2-130R3001108.jpg
图10 灰度调色板替换值为128时显示了灰色
    所以如果在不改变调色板的情况下,要想有比较明显的特征体现,最好是将替换值设置成255,这样就成为真正的黑白二值图像。当替换值为255时,无论使用灰度调色板还是二值调色板,都是黑白图像。

galaxynb 发表于 2013-10-15 19:54:35

感谢lz,但是我还有一个问题,我按照你说的做了,能显示了,但是保存的图片还是全黑的,这是怎么回事呀

88509572 发表于 2015-12-18 23:12:31

华视自动化http://shixinhua.com,工业相机、工业镜头、机器视觉光源、光源控制器、图像处理、系统集成服务商

lynnlinjie 发表于 2019-8-14 21:59:58

请问楼主按照你的操作进行后,显示正常,能够区别出差异,而保存下来的图片依旧是全黑色的这个问题怎么解决

迷路的BOY 发表于 2013-8-24 18:00:16

太好了,谢谢。辛苦版主每天浏览论坛新帖为我们解决问题

hanmo 发表于 2013-8-25 22:30:10

不管你信不信,反正我是信了,楼主强大。石鑫华视觉http://shixinhua.com/lens更强大!

galaxynb 发表于 2013-10-15 19:54:49

感谢lz,但是我还有一个问题,我按照你说的做了,能显示了,但是保存的图片还是全黑的,这是怎么回事呀

Pingjing 发表于 2014-4-6 11:34:47

支持石鑫华视觉http://shixinhua.com,支持机器视觉论坛http://labviewvision.com。

ran0233 发表于 2014-5-9 18:13:52

又学到东西了 ,,感谢

ran0233 发表于 2014-5-9 18:13:58

又学到东西了 ,,感谢

烟雨 发表于 2014-5-19 12:05:43

{:soso_e183:}多谢多谢!

ubuhao111 发表于 2015-4-10 00:33:46

真好,刚好用的上。谢谢版主:lol
页: [1] 2
查看完整版本: LabVIEW中二值化后图像显示全黑的解决办法

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