基于MATLAB的激光光斑图像处理算法

常用的激光光斑中心检测算法有均值法、重心法及Hough变换法、圆拟合等。本设计拟采用圆拟合对激光光斑进行检测。

一、激光光斑图像预处理

激光光斑原始图像中光斑内部光强分布不均匀,且图像偏暗,对比度较差,不利于原始信号特征量的提取,因此必须进行预处理。首先,需要对光斑图像进行亮度调节,并进行去噪预处理。然后对图像进行阈值分割以分开图像和背景,即将灰度图像转化为二值图像,通过中值滤波滤除脉冲干扰及图像扫描噪声。由于二值化后的图像边缘还包含一些较大的噪声,因此需要采用形态学方法去除这些噪声以平滑光斑边缘。最后对图像边缘进行轮廓跟踪和圆拟合。

1.1 亮度调节

由于光斑原始图像往往内部光强分布不均匀,且图像偏暗,对比度较差,这会直接影响图像的后续处理和边缘检测,因此需要对图像进行亮度调节。

1.2 阈值处理及二值化

阈值处理是一种区域分割技术,主要利用图像中要提取的目标物体和背景在灰度上的差异,选择一个合适的阈值,通过判断图像中的每一个像素点的特征属性是否满足阈值的要求来确定图像中该像素点属于目标区域还是背景区域,从而产生二值图像。阈值的选取成为是否正确分割的关键,不同的阈值其处理结果差异很大。若阈值选取过高,则过多地把背景像素错分为目标;相反,若阈值选取过低,又会过多地把目标像素错分为背景。

1.3 中值滤波

中值滤波是一种非线性滤波,它能在滤除噪声的同时很好地保持图像边缘,克服平均值滤波所引起的图像细节模糊,对滤除脉冲干扰及图像扫描噪声最有效。中值滤波的原理简单,它把以某像素为中心的小窗口内所有像素的灰度按从小到大排序,取排序结果的中间值作为该像素的灰度值。经过非线性拉伸,背景干扰与其临近像素的灰度值有很大差异,因此经排序后取中值的结果是强迫将此干扰变成与其临近像素的灰度值一样,达到去除干扰的目的。

1.4 形态学处理

数学形态学由一组形态学的代数运算子组成,包括4个基本运算:膨胀、腐蚀、开运算和闭运算。由于开运算和闭运算所处理的信息分别与图像的凸、凹处相关,它们本身就是单边算子,可以利用开运算和闭运算去除图像的噪声。本设计中将开运算和闭运算结合起来对光斑进行处理。

1.5 激光光斑图像的圆拟合

首先,找出与所求区域具有相同标准二阶中心矩的椭圆的长轴长度、短轴长度、离心率等,并找出包含所求区域的最小凸多边形的顶点坐标。然后用所求椭圆的长轴长度、短轴长度和离心率确定一个正多边形,使该正多边形具有一个相当大的边数,以至于接近一个圆,这个圆即为所要拟合的圆。

二、光斑图像处理实例

利用CCD图像传感器获取到激光光束的光斑图像,通过对原始图像进行亮度调节、阈值分割、二值化处理后的结果如下图所示:

基于MATLAB的激光光斑图像处理算法_第1张图片

图 1 光斑图像二值化处理

随后,进行中值滤波、形态学处理以及边缘检测等预处理,再通过轮廓跟踪和圆拟合等图像处理后得到激光光斑的中心位置坐标和直径大小。此时,得到激光光斑中心坐标为(353.016,406.746),光斑的半径为85.376。结果下图所示:

基于MATLAB的激光光斑图像处理算法_第2张图片

图 2 激光光斑拟合结果

相关程序代码,可私信博主。

你可能感兴趣的:(图像处理,图像处理,激光光斑,圆拟合,形态学处理,中值滤波)