如何选择视觉CV光源颜色

一.光源颜色分类

光源颜色的选择对机器视觉光源有什么影响及意义呢,常用的光源颜色有白色(W)、蓝色(B)、红色(R)、绿色(G)、红外光(IR)、紫外光(UV),这六种颜色。那么这六种光源颜色又有什么区别及用途呢?下面就让沃德普机器视觉光源来给大家介绍一下:

1.白色光源(W):

白色光源通常用色温来界定,色温高的颜色偏蓝色(冷色,色温>5000K),色温低的颜色偏红(暖色,色温<3300与5000K)之间称之为中间色,白色光源适用性广,亮度高,特别是拍摄彩色图像时使用更多。

2.蓝色光源(B):

蓝色光源波光为430-480之间,适用产品:银色背景产品(如钣金,车加工件等)、薄膜上金属印刷品。

3.红色光源(R):

红色光源的波长通常在600-720之间,其波长比较长,可以透过一些比较暗的物体,例如底材黑色的透明软板孔位定位、绿色线路板线路检测,透光膜厚度检测等,采用红色光源更能提高对比度。

4.绿色光源(G):

绿色光源波长510-530,介于红色与蓝色之间,主要针对产品:红色背景产品,银色背景产品(如钣金,车加工件等)。

5.红外光(IR)

红外光的波长一般为780-1400,我司大多采用940波长的红外光,红外光属于不可见光,其透过力强。一般用于LCD屏检测等。

6.紫外光(UV):

紫外光的波长一般为190-400,主要采用385波长的紫外光,其波长短,穿透力强,主要用于触摸屏ITO检测、布料表面破损、点胶溢胶检测等方面,金属表面划痕检测等。

其实机器视觉光源因为其形状颜色各异,所以每个光源检测的东西都不一样。

互补色可增加对比度

当两种颜色光以适当地比例混合而能产生白色感觉时,则这两种颜色就称为“互为补色”。互补色在色环(下图)上相互对应。两种互补色等强度混合可以得到白色,如果希望更加鲜明地突出某些颜色,则选择色环上想对应的互补颜色,这样可以明显地提高图像的对比度。

二.光源颜色选择策略

在机器视觉系统中,光源具有非常重要的作用,选择合适的光源成为决定整个系统成败的关键因素,光源的主要目的就是将被测物体与背景尽量明显分别,获得高品质、高对比度的图像。下面带您了解一下机器视觉光源颜色的选择攻略:

一般情况下,如果使用黑白相机,又对被测物体的颜色选择没有特殊的要求,红色是比较合适的选择。因为红色LED寿命长、稳定、价格低廉,更重要的是红色LED的波长更接近传感器的灵敏度峰值,而通常的CCD对紫色、蓝色的光敏感程度没有红光强。

如果进行彩色成像,则通常考虑使用白色光源。白色LED光源的制造有几种方法,一种是使用白色LED制造,发光管内部有蓝色发光芯片与受到激发后发出黄色的荧光粉,发出的光按一定比例叠加到一起,看起来形成了白色,这是最为常见的形式。另一种方法是使用红绿蓝三种不同颜色的LED,按某种顺序或方式在光源上进行排列,并分别控制每种颜色的度,使用相对方便。此种方法通常使用四个单色RGGB颗粒进行排列,所以其中的绿色分量通常会比较足,之所以多加一个绿色的G通量,是因为人眼对绿色光源(波长555nm)最敏感。

机器视觉应用中应注意目标颜色与光源颜色的搭配,我们看到某个物体成某种颜色,是因为其反射了对应的光谱。我们拍摄物体时,如果要将某种颜色打成白色,那么就得使用与此颜色相同或相似的光源(光的波长一样或接近),而如果要打成黑色,则需要选择与目标颜色波长差较大的光源。

彩色图像中,除了黑色、灰色不明显,其它如白色、紫色、蓝色、绿色、黄色、橙色、红色、棕色都很明显,色彩饱满艳丽。多色排线在白色光源下的黑白相机大尺度成像,可以发现其中的白色、黄色、绿色、橙色较明亮,说明相机对这些波长比较敏感。在红光下成像时,白、红、橙、黄几种颜色比较明显,其它的颜色都很暗,说明红光照射物体时,物体本身有红色分量时,才能反射红光,在黑白相机下表现为红色特征。而在绿色光源下,则白色、绿色、黄色表现明亮,其它较暗淡。蓝色光源下,白色、紫色、蓝色等表现较亮,有效反射蓝光。从中也可以发现,白色,无论在什么光照下,都成明显的白色,是因为其本身不吸收光谱,任何光谱照射到其表面上都会被反射;相反,黑色材料则无论什么光照射上去都不反光成黑色。

生活中看到某个物体呈现某种颜色,是因为物体表面反射了该对应的光谱。

视觉应用中,为目标颜色合理地选择光源的颜色有利于降低算法难度、提高系统稳定性。

同类色

同类色指色相性质相同,但色度有深浅之分。

色相环中15°夹角内的颜色

如深红与浅红,深蓝与浅蓝。

邻近色

邻近色,就是在色带上相邻近的颜色。

例如红色和橙色。

是色相环中,凡在60度范围之内的颜色都属邻近色的范围

互补色/对比色

有非常强烈的对比度,在颜色饱和度很高的情况下,可以创建很多十分震撼的视觉效果。

例如橙和蓝、红和绿、黄和紫。

在色相环中每一个颜色对面(180度对角)的颜色。

类似色

类似色是指在色轮上相邻的三个颜色。

在色轮上90度角内的色统称为类似色。

例如红-红橙-橙、黄-黄绿-绿、青-青紫-紫等均为类似色。

光源颜色的选择

基于以上颜色理论,如果要将目标打成白色需要选用同类色,如果要目标打成黑色需要选用互补色。

合理选择光源颜色可以使特征和背景之间产生较大的灰度差别。一把情况下,如果使用黑白相机,对被测物体的颜色没有特殊要求的情况下,红色是比较好的选择。

红色LED寿命长、稳定、价格低。通常ccd对红光比较敏感。

波长越长,穿透能力越强。红外的穿透能力强,适合检测透光性差的物体,如棕色口服液杂质检测。

波长越短,扩散能力越强。紫外对表面的细微特征敏感,适合检测对比不够明显的地方,如食用油瓶上的文字检测。  表面瑕疵检测一般使用蓝光。

不同波长的光线聚焦点不一样,可以参照彩虹形成的原理。在图像中心区域,不用颜色形成的光斑是同心圆。向图像边缘移动时会产生彩虹效应,目标特征将在更大区域上成像,会导致对比度降低。对像素较小的相机影响更严重。

如何选择视觉CV光源颜色的更多相关文章

  1. MFC之向导页、消息框、文件选择、字体、颜色(三)

    属性页对话框的分类 属性页对话框想必大家并不陌生,XP系统中桌面右键点属性,弹出的就是属性页对话框,它通过标签切换各个页面.另外,我们在创建MFC工程时使用的向导对话框也属于属性页对话框,它通过点击“ ...

  2. CSS3全览_文本+视觉+盒子+背景颜色

    CSS全览_文本+视觉+盒子+背景颜色 目录 CSS全览_文本+视觉+盒子+背景颜色 1. 文本属性 2. 视觉格式化基础 3. 内边距, 边框, 轮廓和外边距 4. 颜色, 背景和渐变 作者: ht ...

  3. winform 保存文件 打开文件 选择文件 字体样式颜色(流 using System.IO;)

    string filePath = ""; private void 保存SToolStripMenuItem_Click(object sender, EventArgs e) ...

  4. 工业搬运机器人(AGV)为什么要选择视觉导航

    在智能制造和仓储物流领域,搬运机器人的需求量在逐年上升.机器人(AGV)的种类千差万别,如何选择成为需求方头痛的问题. 本文将从客户关心的多个方面,对市面上的常见的工业级导航方案做一个比较. 搬运机器 ...

  5. 设置PyCharm中选择文本的背景颜色和代码中和选中单词相同单词的背景颜色

    1 设置选中单词的背景颜色 首先进入File->Setting->Editor->Color Scheme后复制一个存在的颜色主题作为自定义的颜色主题(默认的颜色主题是无法修改的,也 ...

  6. selector 的用法,在选择和不选择情况下的颜色

    在res/drawable文件夹新增一个文件,此文件设置了图片的触发状态,你可以设置 state_pressed,state_checked,state_pressed,state_selected, ...

  7. WPF整理-使用用户选择主题的颜色和字体

    “Sometimes it's useful to use one of the selected colors or fonts the user has chosen in theWindows ...

  8. 跟我一起学QT_QT标准对话框_颜色选择框

    标准对话框 QT的标准对话框分为以下几种 颜色对话框 文件对话框 字体对话框 输入对话框 消息对话框 进度对话框 错误信息对话框 向导对话框 颜色对话框 首先学习的是颜色对话框颜色对话框类QColor ...

  9. Unity 渲染教程(五):多个光源

    https://www.jianshu.com/p/c1a9a5d27765 对每个物体渲染多个光源的光照效果. 支持不同的光源类型. 使用光源cookie. 计算顶点光照. 在光照计算中添加球面谐波 ...

随机推荐

  1. php 二维数组排序详解: array_multisort

      定义和用法 array_multisort() 函数返回一个排序数组.您可以输入一个或多个数组.函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序. 注释: ...

  2. Android平台dalvik模式下java Hook框架ddi的分析(2)--dex文件的注入和调用

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/77942585 前面的博客<Android平台dalvik模式下java Ho ...

  3. <JVM中篇:字节码与类的加载篇>03-类的加载过程(类的生命周期)详解

    笔记来源:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机) 同步更新:https://gitee.com/vectorx/NOTE_JVM https://codechina.cs ...

  4. java.lang.ClassNotFoundException: org.apache.jsp.index_jsp

    问题描述 Tomcat启动报错 java.lang.ClassNotFoundException: org.apache.jsp.index_jsp 问题原因 因为tomcat在启动过程中jsp和se ...

  5. PHP基础-PHP中预定义的超全局数组

    预定义数组: 自动全局变量---超全局数组 1. 包含了来自WEB服务器,客户端,运行环境和用户输入的数据 2. 这些数组比较特别 3. 全局范围内自动生效,都可以直接使用这些数组 4. 用户不能自定 ...

  6. 二、jmeter模拟请求头及监听器之结果树

    一.模拟请求头 利用jmeter发送http请求时,被接收的服务端会对发送的该请求进行初步判断,如果不是web端发送的请求就会被打回导致请求不通,这时候需要模拟请求头,模拟正常的用户行为进行发送请求 ...

  7. Postman中如何实现接口之间的关联?

    Postman中如何实现接口之间的关联? 不单单说Postman中,我为什么拿Postman举例,因为它比较简单一点. 那如果我只问你如何实现接口之间的关联,那肯定有很多的方式,Postman只是其中 ...

  8. v-for详解

    v-for的引入 当我们需要对一组数据进行渲染时,我们就可以使用v-for来完成 v-for遍历数组 格式:v-for="(item, index) in items".(也许是因 ...

  9. 理解微信小程序的双线程模型

    有过微信小程序开发经验的朋友应该都知道"双线程模型"这个概念,本文简单梳理一下双线程模型的一些科普知识,学识浅薄,若有错误欢迎指正. 我以前就职于「小程序·云开发」团队,在对外的一 ...

  10. mybatis-plus批量插入saveBatch太慢?我愿意称rewriteBatchedStatements为神

    最近在做项目优化,代码优化之后,测试接口,好家伙.一个定时任务接口执行要10秒左右. 一点点追踪,给每个方法打上执行时间,一点点缩小范围.好家伙,终于让我锁定了目标. 这是mybatis-plus的批 ...