工控编程吧
标题:
1.1 halcon上位机图像测量的原理与算法流程
[打印本页]
作者:
qq263946146
时间:
2019-3-18 17:14
标题:
1.1 halcon上位机图像测量的原理与算法流程
测量是我们在图像处理中经常遇到的需求,图像测量常见的有一维测量,二维测量,三维测量。
图像测量一般得到的是像素或都亚像素值,我们如果 要得到物体的具体尺寸,
就要对尺寸进行标定,也就是要知道每个像素对应的实际物理尺寸。
那么图像 测量这种类型的项目在实际开发中应该如何 考虑?
算法流程 是什么?
解决方案应该如何 实现?
当前帖子我们给大家介绍如何 进行图像 的一维二维测量,
我们可以自己源码写,也可以直接 调用库API实现,库常见有HALCON,OPENCV.
HALCON是业界公认的视觉算法库,我们用halcon实现图像 测量,最直接方便,
halcon提供了一个很好的测量助手,这个测量助手 可以很好的帮助我们进行图像 测量的编程等等。
我们首先了解下应该如何 设计 方案,其算法流程如何。
图像 测量属于图像 处理中一个比较重要的领域,
图像 测量实际上就是对摄像 机采集到的图像或磁盘的图像进行边缘轮廓提取,
然后对提取的轮廓进行拟合 ,
得到直线或者贺等几何特征,再里进行几何特征的距离度量。
这种距离度量有多种定义,要根据自己的需求去定义,
可以采用欧式距离 ,
也可以采用棋盘距离 等,
从而 求得点到直线的距离 ,
直线到直线的距离 ,
圆到直线的距离 ,
圆到圆的距离 等。
这里得到的距离 都是像素 距离 或亚像素距离,亚像素 其实就是像素 的进一步细分。
实际项目需要的一般是实际距离,如毫米,米之类的单位,也就是要进行像素到实际物理尺寸的比例转换。
通俗来说就是我们实际距离 假设1毫米,通过 光学系统成像后,在图像 上的像素距离是多少像素 。比如是100个像素,
那么这个时候 我们用1毫米除以100,得到的结果是0.01就代表在这个物距下,光学系统成像后的一个像素 代表的实际 篁 尺寸是0.01毫米。
这样也就达到 了视觉二维 一维的测量功能 。
而测量精度在这里是关键,这个测量精度 取决于很多方面,包括光学成像时的像差,比如 畸变,光照强弱变化,
图像 的噪声对目标边缘提取的影响,边缘提取和拟合 时的误差都会导致测量精度 的降低。
所以在实际项目中应该对每个环节进行最大程度的优化,让误差达到最小,
而这个误差优化过程是需要 很多经验以及对原理 的深入理解。
我们常规的在提取边缘和拟合 时一定要减少误差,可以采用亚像素 精度,
拟合 时也可以采用恰当的拟合 算法,可以采用
最小二乘
法等。一般图像 测量思路 及算法 流程如下:
1.采集图像(实时或者外触发)
2.图像 预处理去噪声(采用滤波器)
3.图像 分割(将目标与背景分割)
4.进行直线或曲线拟合(用于求解距离)
5.连线提取(像素 或亚像素)、
6.区域定位(在该区域内进行测量)
7.求解拟合 直线或曲线 间的像素 距离 (欧式还是其般距离等)
8.像素 距离 到实际 距离 的转换(根据之前的标定结果)
9.显示测量结果
下一帖子讲解 halcon测量助手 的实际使用
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4