一种新的鱼眼图像校正算法*

2023-08-02 07:07国艺美唐锦萍
计算机与数字工程 2023年4期
关键词:扫描线鱼眼经度

国艺美 毕 波 唐锦萍

(1.东北石油大学数学与统计学院 大庆 163318)

(2.海南医学院公共卫生与全健康国际学院 海口 571199)

(3.黑龙江大学数据科学与技术学院 哈尔滨 150080)

1 引言

因为鱼眼镜头视场角为180°甚至更大,所以在许多摄影工作中得到了广泛运用。但鱼眼镜头存在严重的图像径向畸变的问题[1],针对此问题国内外的学者们提出了很多校正鱼眼图像畸变的方法。对于鱼眼图像径向畸变的校正,主要分为基于鱼眼镜头标定的校准方法[2~3]和基于投影变换理论的校正方法[4~7]。我们知道,想要进行鱼眼图像矫正的第一步也是很重要的一步就是对鱼眼图像有效区域的提取,目前常用的方法有面积统计法[8]和扫描线逼近法[9~10],但面积统计法对于鱼眼图像圆形有效区域内存在大量黑色像素时会出现较大偏差,因此适用性并不广泛。扫描线逼近法也存在对于有效区域边界存在大量黑色像素时容易出现偏差的缺陷。本文提出了一种新的扫描线逼近方法,实验结果表明本文所提出的方法能更为精确地确定有效区域的位置,为下一步像素点的校正奠定了基础。在此基础上又提出了从2D空间进行鱼眼图像校正的新方法,实验结果表明本文基于变量系数的双向经度校正算法校正效果没有拉伸严重的问题,而且纵向校正效果明显优于传统经度校正算法[11~12]。

2 基于圆形轨迹扫描的扫描线逼近算法原理

2.1 算法介绍

新的扫描线逼近算法的原理是一幅鱼眼图像的有效区域边界都是黑色像素点的可能性非常小,所以会存在某处边界像素点为非黑色像素点,那么我们先找到该非黑色像素点,确定一个有效区域的边界点的位置,然后再逐步确定有效区域的圆心位置即可。本文先将图像去除椒盐噪声[13~14]和二值化[15~16],以圆形轨迹扫描的方式来确定最边界非黑色像素的点的位置,再不断确定有效区域圆心位置。如图1 所示,初始扫描圆以鱼眼图像宽(W)和高(H)的最大值的1 2 为半径R,以为圆心O′,灰色部分为圆形有效区域。第一个边界点则是扫描过程中出现的第一个像素值为255 的像素点。

图1 原型轨迹线扫描示意图

具体算法步骤如下所示:

Step 1:图像去除椒盐噪声然后二值化,这里二值化阈值T为127,以鱼眼图像宽(W)和高(H)的最大值的1 2 为半径R,以为圆心O′,作为初始扫描圆。 遍历圆上所有像素点,判断有无灰度值为255 的像素点,如果没有,R=R-1,圆心不变,继续扫描新的圆上的所有像素点直到圆上出现灰度值为255 的点P时R停止减小,转到Step 2。

Step 2:此时P点固定,让圆心O′沿■ →■■O'P方向移动,移动步长为一个像素位置,每移动一次,检测圆上所有像素点的灰度值,当出现大于等于3 个灰度值为255的像素点时,O′停止移动,转到Step 3。

Step 3:判断像素点的分布情况:1)如果像素点分布在直线O′P的两侧,则可以锁定有效区域位置,圆心为当前O′所在位置,半径为O′P的长度,到此扫描结束;2)如果分布在直线O′P的一侧,则代表O′偏上、偏下、偏左或者偏右(这四种情况如图2 所示),像素点偏向哪一侧,O′就向哪一侧移动,O′每次移动步长为1 个像素点位置,每移动一次遍历圆上所有像素点灰度值,当圆上仅剩一个灰度值为255 的像素点即点P时,O′停止该方向上的移动,转到Step 2。

图2 圆形扫描线逼近示意图

2.2 效率估计

设图像大小为W×H(单位:像素),圆形有效区域半径R,经典扫描线逼近算法时间复杂度[20]为

本文扫描新逼近算法时间复杂度为

其中S为图1 所示图像中初始扫描圆未扫描到的四个边角部分,因此本文扫描线逼近法的效率略高于经典扫描线逼近法。

2.3 实验结果与分析

在这里我们以下三幅图像进行实验,三幅图片的大小分别为:图3(a)为900×675;图3(b)为500×500;图3(c)为850×850。分别对三幅图像有效区域边界进行处理,即改变其边界黑色像素点的个数,再分别用经典扫描线逼近算法、面积统计算法、区域生长法和本文扫描线逼近算法提取鱼眼图像有效区域,提取效果图如图3所示。

图3 四种有效区域提取算法效果对比

实验相关数据如表1、表2、表3和表4所示。

表1 经典扫描线逼近法实验数据

表2 面积统计算法实验数据

表3 区域生长法实验数据

表4 本文扫描线逼近法实验数据

由图3、表1、表2、表3和表4数据可知,由于对鱼眼图像有效区域边界增加黑色像素点的处理,经典扫描线逼近法和面积统计算法对有效区域边界的判断存在明显误差,运算时间较短;区域生长法对有效区域边界的判断较为准确但运算时间较长;而本文所提出新的扫描线逼近算法对有效区域边界的判断最为准确且运算时间最短。实验结果表明本文提出算法效果更好,更有实际应用价值。

3 基于变量系数的双向经度校正算法

3.1 算法介绍

在鱼眼图像的图像畸变中,经典经度校正算法主要考虑径向畸变,校正后的像素点横坐标改变,纵坐标不变,图像南北两极校正效果存在明显过度拉伸的效果。已知鱼眼镜头径向畸变数学模型表达式如下所示:

其中(x,y)为畸变点原始坐标,(Xcorrected,Ycorrected)为校正后的坐标,k1,k2,k3…为鱼眼镜头径向畸变系数,r 为畸变点到中心点的距离。根据式(1)、(2)分析得知鱼眼图像在x轴和y轴方向具有相同的畸变系数,且像素点的畸变量大小只与畸变点到图像中心点的距离有关,距离越大,畸变量越大。因此本文算法在x轴和y轴方向上均做出校正。

本文提出的鱼眼图像的校正思想如图4 所示,首先我们把有效区域分为8 个小区域,其中圆形为鱼眼图像有效区域,正方形与圆相切,在鱼眼图像中每一个像素点都在以有效区域圆心O为圆心,以像素点到圆心的距离为半径的唯一圆上,我们先假设该像素点校正后的点在■→■OA与正方形相交的交点处,即A点校正后为A'。但我们知道,离圆心越远的像素点畸变越大,离圆心越近的像素点几乎无畸变,根据此特性进行进一步改进,具体计算步骤如下:

图4

已知圆心坐标O (x0,y0) 和像素点原始坐标(x1,y1),R为有效区域半径,r为圆心与像素点之间的距离,在这里我们设计了一个变量系数,K是只与r和R比值大小有关的变量,最后(x,y)为校正后点的坐标。根据两点式以及它的变型式(3),可求出当y 已知时x 的值和x 已知时y的值。

在这里已知圆心坐标为(x0,y0)和像素点原始坐标(x1,y1)以及r为式(3)中所示,对8 个小区域内每个像素点进行如下操作:

区域1和8:

3.2 图像插值

由于在此运算过程中,并不是所有的像素点都被赋予像素值,会出现黑色像素点,所以此处需要进行图像插值运算[18~20]。对所有的黑色像素点进行遍历,当以该像素点为中心的3×3 的范围内,存在4 个及以上的像素点不是黑色像素时,该像素点三个通道的值取所有非黑色像素点的对应通道的均值,从而完成图像插值运算。计算过程如下:ax,y为符合条件的黑色像素点,M为以ax,y为中心3×3 范围内9 个像素点构成的矩阵,矩阵K为对应系数矩阵,且取值为0 或1(矩阵K对应矩阵M中位置像素点符合条件的取1,否则取0),a'x,y为像素点ax,y经过图像插值操作后的结果。

3.3 实验结果与分析

通过实验对图(a)和图(b)分别进行经典经度校正算法和本文算法校正,效果图如图5所示。

图5 两种校正算法效果图对比

通过图4 中三幅图像两种算法校正效果图对比和表5 中数据可知,本文算法的纵向校正效果要好于经度校正算法,不存在经度校正算法在图像南北两极拉伸严重的问题,没有经度校正算法校正后的“膨胀感”,在校正速度上也有所提升。又因为清晰聚焦的图像有着比模糊图像更大的灰度差异,所以可以将方差函数[21]作为图像清晰度评价函数,且方差函数越大代表图像越清晰,通过表5 中数据可知本文校正算法校正的图像的图像清晰度明显好于经度校正算法校正的图像。因此本文校正算法效果要优于经度校正算法。

表5 鱼眼图像校正实验数据

4 结语

本文针对经典扫描线逼近法在有效区域边界存在大量黑色像素时容易出现偏差的问题提出了一种新的扫描线逼近法,实验结果表明新的扫描线逼近方法能很好地克服这一缺陷,有效区域提取和运算效率都高于经典算法、面积统计算法和区域生长法;又针对经度校正算法仅做径向校正而使校正后图像出现拉伸严重的问题,提出了一种新的校正算法,实验结果表明,本文算法改善了经度校正算法对图像南北两极拉伸严重的问题,横向校正效果与经度校正算法相近,纵向校正效果明显优于经度校正算法,校正速度也有所提升,且校正后的图像清晰度要好于经度校正算法校正后的图像,具备较好的实际应用价值。

猜你喜欢
扫描线鱼眼经度
巧用四步法 妙解地方时
面向鱼眼图像的人群密度估计
一种基于线扫描的受损一维条形码识别方法
对时差计算方法的探讨
微信扫一扫马上看视频鱼眼视频 小程序每天带你看最有意思的摄影视频
基于扫描线模型的机载激光点云滤波算法
鱼眼明目鱼头补脑是真的吗?
扫描线点云数据的曲面重构技术研究
一种新型鱼眼图像轮廓提取算法
抗生素入选2014年“经度奖”研究课题