热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

直方图均衡视觉显著_图像采集:机器视觉中图像采集优化方法介绍

点击上方“小白学视觉”,选择“星标”公众号重磅干货,第一时间送达来源:act视觉系统设计编辑:新机器视觉机器视觉在不同的复杂
点击上方“小白学视觉”,选择“星标”公众号

重磅干货,第一时间送达

bd3ce7afe10c4dc43f524a88bffd2511.png

来源:act视觉系统设计 编辑:新机器视觉

机器视觉在不同的复杂技术领域有着广泛应用。在简单的应用中(例如,利用背光检测不透明物体的轮廓),成像系统可在宽松的系统参数条件下可靠地运行。但在要求较高的应用中(比如检测镜面的表面缺陷),必须将主要参数设置在较小的公差范围内,或使用成本更高的高精度硬件,成像系统才能稳定运行。

成像系统中涉及的主要参数的数量,随着成像应用复杂度的提高而增加。Edmund Optics东京成像实验室对此进行了研究,对于要求较高的成像应用,需要精确调整的参数大约多达20个。

图像采集优化

本文主要讨论图像采集优化(以下称为OIA),即:将成像系统中的所有主要参数调整到能够获得最佳图像的过程。完成OIA后,获得的图像具有以下共同特点:

1)在成像系统物理条件限制下,所拍摄的图像获得尽可能多的有用信息;

2)尽可能多地利用相机传感器的有效像素,让待测工件在视野范围内(FOV)最大呈现,仅受工件几何形状和位置变化的限制;

3)在不使用降噪算法的情况下,图像具有最高的信噪比,仅受传感器的参数限制;

4)图像的动态范围接近最大值,没有达到饱和;

5)图像中没有来自其他外部环境产生的不必要影像(例如未使用扩散片的环形光产生的亮斑)。

为达成OIA,需要对所有主要参数进行精确调整。经过OIA调整后的成像系统,为机器视觉系统集成商提供了以下优势:

1)高性价比

成像系统中的关键组件(成像镜头、相机、照明光源和光机结构)充分发挥作用,实现了具有成本效益的解决方案。

2)最少的图像运算处理和分析,最低的软件复杂度

由于OIA可以获得高还原度、高对比度和低噪声的图像,因此对图像处理算法(例如降噪、直方图均衡、膨胀/腐蚀)的需要降至最低,从而显著减少了开发周期、测试时间和硬件成本。

3)显著降低误判率,高质量的图像减少了测试错误

已经调整好的成像系统可以满足以下条件,如图1和图2所示:

1)像平面(传感器面)和物面(检查工件表面)平行;

2)被检查的工件表面位于工作距离(WD)最佳聚焦位置;

3)被检查的工件,接近FOV拍摄矩形成像区域大小,但不超过FOV;

4)工件中心位于镜头的光轴上;

5)被检查工件的浅色(白色、浅灰色等)区域特征,其成像亮度接近像素灰度饱和值(例如8位格式为255,灰度值可以达到220),但未达到饱和。

90653e32a7e83a83f6ace2780255de4a.png

图1:成像系统调整要求,透视图

781803c8d0fc5172516668425d4dcbe9.png

图2:成像系统调整要求,上视图

调整方法

通常的调整方法是:操作人员通过相机观察图像,以主观判断完成。由Edmund Optics 日本分公司开发的调整应用程序,可对成像系统中的11-17个参数(取决于硬件条件)进行即时测量,从而为操作人员提供实时量化的参数以进行判断。

以下案例中,使用的是西门子星标测试板(产品编号58835)。将星标测试板的标刻面朝向成像系统,并使其与待测物平面重合。

使用EO开发的EORTM(Edmund Optics Real-Time Metrology)软件,实时运算和分析拍摄到的测试板图像。EORTM可以在精确调整至少8组硬件参数(光学机械平台的六个自由度、光源亮度和相机曝光时间)的过程中,给操作人员提供实时闭环反馈。

借助EORTM,在高精度机器视觉应用中调整参数的时间,从大约数小时减少到20分钟甚至更短,但是精度却提高了至少2倍,因为它提供精确可量化指标,而不是依靠主观判断。

一旦所有硬件调整都在软件设定的允许范围内,EORTM将显示如图3所示的全部通过状态,并且判定图像系统已调整完成。

4b9ec4218ce7b74508a61539b2bce770.png

图3:使用EORTM软件和西门子星标测试板进行微调

硬件配置包含一个6维自由度调整平台和相关的光机结构件,以及照明光源和测试板,完全由EO产品目录中的标准产品组成,如图4所示。

5612ffec3bedf969db7608c08346dad5.png

图4:Edmund Optics 6维调整定位平台用于成像系统调整

结论

为了达到OIA,需要精确调整近20种光学、机械、电子和软件参数。表1中列出了这些参数,根据其需要调整的频率归类为:

1)设计阶段(DT):一次,系统规划选型时;

2)设置阶段(ST):一次,相机初始化安装时;

3)实时调整(RT):多次,在OIA调整过程中视需要,可通过可视化或使用软件实时测量获得反馈。

表1:OIA调整过程的主要参数

#

类别

硬件

参数

调整阶段

1

电子

相机

像素数量1

DT

2

传感器大小 2

3

照明

峰值波长

4

光谱分布

5

光学

光束发散角

6

镜头

视场大小

7

MTF

8

软件

相机

图像锐化

ST

9

噪声处理

10

增益设定

11

Gamma曲线校正

12

暗阶设定

13

软件/电子

曝光时间

RT

14

照明

照度

15

光机

X轴位移

16

Y轴位移

17

Z轴位移

18

X角度倾斜

19

Y角度倾斜

20

成像系统

X轴位移

21

Y轴位移

22

Z轴位移

23

X角度倾斜

24

Y角度倾斜

25

Z角度倾斜

注:1:通常也称为分辨率;2:像素大小代表图像分辨率,这里没有列出,因为它可以根据像素数量和传感器尺寸计算得出。

4b4c3904086bf4c039ddd9058ff9985f.png




推荐阅读
  • 使用Numpy实现无外部库依赖的双线性插值图像缩放
    本文介绍如何仅使用Numpy库,通过双线性插值方法实现图像的高效缩放,避免了对OpenCV等图像处理库的依赖。文中详细解释了算法原理,并提供了完整的代码示例。 ... [详细]
  • 非公版RTX 3080显卡的革新与亮点
    本文深入探讨了图形显卡的进化历程,重点介绍了非公版RTX 3080显卡的技术特点和创新设计。 ... [详细]
  • 线性Kalman滤波器在多自由度车辆悬架主动控制中的应用研究
    本文探讨了线性Kalman滤波器(LKF)在不同自由度(2、4、7)的车辆悬架系统中进行主动控制的应用。通过详细的仿真分析,展示了LKF在提升悬架性能方面的潜力,并总结了调参过程中的关键要点。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • C++实现经典排序算法
    本文详细介绍了七种经典的排序算法及其性能分析。每种算法的平均、最坏和最好情况的时间复杂度、辅助空间需求以及稳定性都被列出,帮助读者全面了解这些排序方法的特点。 ... [详细]
  • 本文介绍如何利用动态规划算法解决经典的0-1背包问题。通过具体实例和代码实现,详细解释了在给定容量的背包中选择若干物品以最大化总价值的过程。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 题目描述:给定n个半开区间[a, b),要求使用两个互不重叠的记录器,求最多可以记录多少个区间。解决方案采用贪心算法,通过排序和遍历实现最优解。 ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • 探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文探讨如何设计一个安全的加密和验证算法,确保生成的密码具有高随机性和低重复率,并提供相应的验证机制。 ... [详细]
  • 深入解析:手把手教你构建决策树算法
    本文详细介绍了机器学习中广泛应用的决策树算法,通过天气数据集的实例演示了ID3和CART算法的手动推导过程。文章长度约2000字,建议阅读时间5分钟。 ... [详细]
author-avatar
手机用户2502935287_564
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有