具体实施方式
参见图1,为本发明图像处理方法实施例一流程图。如图1所示,本实施例包括:
步骤0001:获取视频图像或实时捕获一系列帧图像;
步骤0002:对前后两帧图像之间的差异进行检测;
步骤0003:判断两帧图像之间的差异是否小于预设的阈值,是则执行步骤0004;否则执行步骤0005;
步骤0004:舍弃其中一帧图像,只保留其中一帧图像;
步骤0005:对获取的帧图像进行特征信息检测;
步骤0006:对检测后具有特征信息的帧图像进行图像清晰检测,进行与清晰度相应的处理,并与预设的清晰度标准进行比较,保留清晰的图像。
本实施例对获取的图像进行处理,在前后两幅图像之间的差异小于预设值时,省去其中一幅图像,保证获得的图像之间的差异明显,避免检测的多幅图像一直处于静止状态。本实施例对获得的多幅差异显著的图像中的每幅图像进行清晰检测,进一步舍弃不清晰的图像,保证最后剩余的图像具有明显的特征信息、清晰,并且相互之间存储差异。当然,有些情况下可能获得一幅满足条件的图像即可,如果在获得了图像后进一步执行与摄像机标定的相关操作,有的标定方法只需要一幅图像、有的需要2幅或多幅图像,传统摄像机标定法需要至少两幅或两幅以上图像,而摄像机自标定法理论上只需一幅图就可以,这可以根据不同的需要保留一定数目的清晰且具有特征信息的图像。
参见图2,为本发明图像处理方法实施例二流程图。如图2所示,本实施例包括:
步骤001:获取视频图像或实时捕获一系列帧图像;
步骤002:对所述视频图像或一系列帧图像中的一帧图像进行特征信息检测;
步骤003:对检测后具有特征信息的帧图像进行图像裁剪;
步骤004:对裁剪后的帧图像进行图像清晰检测(与清晰度相应的处理,并与预设的清晰度标准进行比较),舍弃不清晰的帧图像;
步骤005:判断当前帧图像与前一帧图像之间的差异是否大于预设阈值,是则表示两帧图像差异大,执行步骤006;否则两帧图像差异过小,为防止检测的场景一直静止不变化,执行步骤051;
步骤051:由于两帧图像差异过小,舍弃两帧图像中其中一帧图像,即只保留一幅图参与后续处理,并继续执行步骤002,读取下一帧图像;
步骤006:保存当前帧图像;
步骤007:判断图像数目是否达到预设值,如:在摄像机标定中至少需要3幅不同的图像才能进行后续的内部参数运算,进行标定,因此,可设置预设值为3;当然,为不同需求还可以不同的预设值,如,设置4,以预留一定的余量。图像数目达到预设值时,执行步骤008;否则满足条件的图像还未达到预定的数目,继续执行步骤002,读取下一帧图像;
步骤008:获得满足设定数目的清晰的帧图像。
本实施例对获取的一系列帧图像中每帧图像单独进行特征信息的检测、裁剪,单独判断一帧图像是否清晰,即判断一幅图像中具有明显特征信息的部分是否清晰,图像清晰的判定仅仅根据单幅图像自身来判定是否清晰。本实施例中还加入了图像裁剪的操作,图像裁剪的目的是在于:把检测到的图像特征信息占据图像的百分比最大化,因为有的图像检测的特征信息少,在整个图像中所占百分比较小,不方便进行处理,加入图像裁剪之后,将获得的图像中多余的***区域去掉,可以获得特征信息占图像最大化的图像,方便后续处理。
现有技术中是对同一场景拍摄一系列图像,对一系列图像进行相互参考,从中找到最清晰的图像,而本发明上述各实施例是对单幅图像进行特征信息及清晰的判断,自动找出满足条件的清晰的图像,不用对多幅图像进行相互比较,因此处理的图像少,只需选定满足一定数目和条件的图像即可进行后续标定,不需要对全部图像进行处理,因此,本实施例可以准确地从视频文件中获取具有明显特征信息的、清晰的有效帧图,对视频文件进行图像预处理,实现后续视频标定的程序自动化,并且,由于可以对视频图像或一系列帧图像进行自动处理,一个人就能操作实现图像处理,为后续标定作好准备。
参见图3,为本发明图像处理方法实施例三流程图。本实施例与图2实施例类似,不同之处在于在步骤001获取图像之后,步骤002对图像进行特征信息检测之前,包括:
步骤010:判断前后两帧图像之间的差异是否大于预设阈值,是则表示两帧图像差异大,执行步骤011;否则两帧图像差异过小,为防止检测的场景一直静止不变化,执行步骤012;
步骤011:保存前后两帧图像,执行步骤002;
步骤012:由于两帧图像差异过小,舍弃两帧图像中其中一帧图像,即只保留一幅图参与后续处理,并执行后续步骤002。
通过图1-图3实施例可知,对前后两帧图像进行差异检测即可以在图像清晰检测的操作(图2实施例步骤004)之后,也可以在获得图像(图3实施例步骤001)之后或同时做前后帧图像差异检测,判断两幅图像是否差异过大,若差异大则保留前后帧图,做后续检测、判定;否则舍弃其中一幅帧图。现有技术中对获得的多幅图像进行判断,找出最清晰的图像,进行后续标定运算,而上述各实施例如果在获取到两幅差异不明显的图像时,舍弃其中一幅,防止获得的几幅图像一直静止无变化,保证最后进行标定运算的图像差异比较大,且满足一定的清晰要求。例如,拍摄的图像有十幅或视频图像有十帧,但其中有四幅图像比较相近,变化比较小,则可以只对剩余六幅图像进行检测、判断,只要检测出有满足要求的设定数目的图像,即停止检测处理。
本实施例在未进行标定运算之前就舍弃不清晰的若干张图像,利用获得的满足设定数目的图像可以进行后续标定处理。如上段的举例,如果进行检测、判断的六幅图像中前三张均满足要求(有特征信息、清晰),则后三幅图像不需进行处理;如果进行检测、判断的六幅图像中前三幅只有两幅满足要求(有特征信息、清晰),则还需要检测后三幅图像,最终获得满足数目的图像,由此,最多处理六次,最少处理三次即可完成预处理的过程,与现有技术相比,可以自动实现检测和处理,并且由于图像预处理后获得满足设定数目的清晰的图像,后续可以根据获得的图像进行标定运算,由于输入的设定数目的图像具有特征信息并且清晰,所以,可以有效计算出与标定相关的参数信息,与现有技术相比,处理速度快,节省时间,并且使后续标定运算计算出准确的参数信息。
参见图4,为本发明图像处理方法中特征信息检测操作实施例流程图。如图4所示,本实施例中特征信息检测的步骤包括:
步骤021:按顺序读取每帧或实时捕获的一帧图像;
步骤022:检测该帧图像中的角点信息;
步骤023:判断实际检测的角点是否与理论的角点数目相同,是则执行后续步骤;否则舍弃当前检测的帧图像,继续执行步骤021,读取当前检测图像的下一帧图像。
本实施例以特征信息为角点对特征信息检测的操作进行举例,但本领域技术人员应当了解,特征信息可以是图像的颜色特征信息、亮度特征信息、图像的几何特征信息等,更具体的几何特征信息可以是边缘或轮廓、角点、直线、圆、椭圆或矩形等多种特征信息:如果图像的模板为棋盘格,则检测的特征信息可以为角点,后续步骤023判断实际检测的角点是否与棋盘格中实际的角点数一致,如果一致,则说明获得的图像有明显的特征信息,否则获得的图像不完整,舍弃;如果图像的模板为同心圆,则检测的特征信息可以为圆的个数;后续则需要判断实际检测的同心圆个数是否与模板中实际的同心圆数目一致,如果一致,则说明获得的图像有明显的特征信息,否则获得的图像不完整,舍弃。具体可根据图像进行不同的特征信息检测。图像的颜色特征信息和亮度特征信息可以具体化为灰度特征信息、二值化图像特征信息、色彩变化特征信息;图像的几何特征信息可以指常见的直线、圆、圆弧、椭圆、双曲线等曲线特征信息、角点(角点也常称为特征点或关键点)。其中所述的角点是指在角点所在的某个大小的领域内,该角点亮度或色度或梯度敏锐变化,或者是发生剧烈变化,例如:白色背景中的一个黑色矩形的顶点就是个角点,黑白棋盘格中间的点等。当然,最常用的图像是模板,本领域技术人员应当了解,图像也可以不是模板,而是一般的物体,如杯子放置于桌上所拍摄的图像,此时,检测的特征信息则为杯子的外形对应的一些特征信息,为方便画图及后续举例说明,本文以棋盘格及同心圆为例进行举例说明,但应当理解为并不限于这几种实施方式。
上述实施例中,对检测后具有特征信息的帧图像进行图像裁剪包括:
根据检测后获得的特征信息,获得该帧图像的特征信息的坐标;
获得特征信息对应的各点横坐标及纵坐标的最大值及最小值,初步获得裁剪图像;
根据该帧图像的特征信息对应的各点的坐标获得特征信息对应的各点构成的边界;
将所述各点构成的边界之外、初步获得的裁剪图像之内的区域裁去;
只根据所述各点构成的边界内部的图像信息,获得裁剪后的图像。
对图像进行裁剪的操作可参见图5及图6实施例。参见图5,为本发明图像处理方法中图像裁剪操作实施例一示意图,本实施例以图像模板为棋盘格举例说明:
如果图像模板为棋盘格,则特征信息检测后,检测到四个角点,根据检测到的角点特征信息可以对图像进行剪裁,最大程度的保留棋盘格,裁剪操作如图4所示:
①、获取检测到的棋盘格四个角点V1-V4的角点坐标;
②、获得四个角点X坐标的最大、最小值,分别为MaxX、MinX,如图4所示,最大值及最小值分别为V2和V4的横坐标;
获得四个角点Y坐标的最大、最小值,分别为MaxY、MinY,如图4所示,最大值及最小值分别为V1和V3的纵坐标;
③、根据步骤②可初步获得裁剪图像,如图4所示最***的矩形为初步裁剪图像;
④、根据四个角点V1、V2、V3、V4,建立四条边L1,L2,L3,L4的坐标方程,四条边构成矩形V1V2V3V4;
⑤、根据步骤④获得的四条直线边的方程,把步骤②初步裁剪图像之内、四条边构成的矩形边界之外的图像点统统都设置为黑;
⑥、获得只保留四条边内部图像信息的最终的裁剪图像。
具体可参见图8及图9中的裁剪后及裁剪前的图像示意图,从图9可看出,裁剪前图像中的棋盘格占图像的有效百分比较小,裁剪后的图像图8只保留了包含所有特征信息的棋盘格,大大增加了特征信息占图像的百分比。
参见图6,为本发明图像处理方法中图像裁剪操作实施例二示意图。本实施例以图像模板为同心圆举例说明:
如果图像模板为同心圆,则特征信息检测后,检测到如图6所示的四个同心圆,根据检测到的同心圆特征信息可以对图像进行剪裁,最大程度的保留图像模板,裁剪操作如图6所示:
①、获取检测到的四个同心圆中最外层同心圆的圆周边界的坐标;
②、获得最外层同心圆的圆周边界X坐标的最大、最小值,分别为MaxX、MinX,如图6所示,最大值及最小值分别为V24和V22的横坐标;
获得最外层同心圆的圆周边界Y坐标的最大、最小值,分别为MaxY、MinY,如图6所示,最大值及最小值分别为V21和V23的纵坐标;
③、根据步骤②可初步获得裁剪图像,如图5所示的矩形为初步裁剪图像;
④、根据四个点V1、V2、V3、V4,建立四条圆弧L21,L22,L23,L24,四条圆弧构成一个圆;
⑤、根据步骤④获得的圆的边界,把步骤②初步裁剪图像之内、圆边界之外的图像点统统都设置为黑;
⑥、获得只保留四个同心圆图像信息的最终的裁剪图像。
本领域技术人员应当了解,对于不同的特征信息,对应的图像裁剪操作也不同,特征信息可以为角点、直线、圆、椭圆、矩形等,对应的构建边界及图像裁剪也略有不同,在此不再举例说明。
参见图7,为本发明图像处理方法实施例四流程图。本实施例为较为详细的实施例流程图,仍以棋盘格图像模板为例,如图7所示,本实施例包括:
步骤01’:获取带棋盘格的视频文件,具体包括:
首先,打开摄像机,准备拍摄;
其次,一人拿棋盘格站在摄像机前晃动棋盘格模板;
最后,获取到带棋盘格的视频文件。
获取图像还可以是实时检测到的图像,如:
步骤01:通过摄像机实时捕获晃动带模板的图像所得到的一系列帧图像,具体包括:
首先,打开摄像机,准备拍摄;
其次,一人晃动棋盘格站在摄像机前;
再次,摄像机实时捕获帧图,检测处理;
最后,获取到一系列帧图像。
其中,步骤01’是已经拍摄好的视频文件,作为一个类似于.avi文件格式存在计算机硬盘中,其中该视频文件包含多帧图像;步骤01是实时拍摄获取到连续的帧图(一幅图像)并存在计算机缓存中。当然,还可以通过其它方式获得图像,如一个人可以操作摄像机动,棋盘格固定;或者不需要棋盘格,直接拍摄一幅图像。但由于在摄像机拍摄过程中会有很多人为因素、摄像机抖动、不小心干扰摄像机等因素,可能导致摄像机拍摄的图像不清晰,以至于不适合用来作为标定的图像。
在获得一帧或多帧(幅)图像后,进行后续步骤,包括:
步骤021:读取每帧图像或实时捕获的图像;
步骤022:检测有无角点特征信息;
步骤023:判断检测到的角点数是否等于实际的角点数,是则执行步骤03;否则执行步骤021;
步骤03:对图像进行裁剪,即如图7所示的步骤03’:根据检测的四个顶点位置的棋盘格裁剪图像,获得有明显特征信息,与模板的特征信息数目相同的图像,具体可参见图5及图6实施例的说明;
步骤041:计算裁剪图像的梯度;
步骤042:计算图像是否清晰,是则执行步骤05,进行差异检测;否则执行步骤021,继续读取下一图像;
步骤041及步骤042为判断图像是否清晰的步骤,主要根据帧图像特征信息中边缘信息的高频分量的含量判断该帧图像是否清晰或聚焦,下面对图像清晰检测的操作进行详细说明:
A、根据本实施例步骤03获得裁剪后的图像,在图像清晰检测时需要把裁剪后的图像(如图8)灰度化,并求裁剪后图像的每个点的梯度值(如对图像做Laplace变换),可以输出一个只有边缘信息的灰度图,如图10所示;
B、求图像梯度值的绝对值;由于有时候所求的梯度值并不是一个正数,而灰度图像的每个象素点的值是0到255之间的一个数值,因此,需要求梯度值的绝对值,转换成正数,进一步转换成灰度图形式表示;
C、统计清晰图像对应的灰度图中边缘信息的白色线条的总的像素和,或将像素和除以该裁剪图像的大小(就是图像的总象素数目),将白色像素点的总和或占图像的百分比设置为阈值T1作为清晰度标准;
D、阈值放大。从图10可以看出,每个白色小方格中都有些噪声点,因此可以去噪处理,或者提高阈值T1到一定倍数,对于不同场景应用放大的倍数可以不同。如果去噪效果很好,基本不用放大。如果去噪效果不好,噪声点多,需要放大的倍数在2倍左右;
E、对裁剪后的帧图像进行二值化,获得二值化后的图像中所有边缘信息的白色象素点的总和或边缘信息占图像的百分比;
F、判断二值化后的图像中所有边缘信息的白色象素点的总和或边缘信息占图像的百分比与清晰度标准阈值T1的大小,如果二值化后的边缘信息的白色象素点的总和或边缘信息占图像的百分比大于阈值T1,则图像模糊,舍弃该图像,否则判断该图像清晰,保留。
由图10及图11可以看出灰度图中的边缘信息(也就是求出的梯度信息图的显示)。图10是清晰图像对应的灰度图,图11是模糊的图像对应的灰度图。可以看出,清晰图像对应的灰度图中的线条很细,而图11中的线条很粗;如果步骤F计算出的白色像素点的总和大于预设的阈值,则图像中白色像素点较多,如图11所示,线条比较粗,对应的图像属于模糊的图像,需要舍弃,不进行后续检测。
判断图像是否清晰具体也可如图7中步骤042’所示,将最清晰图像模板对应的特征信息(如边缘或轮廓信息)占裁剪图像百分比作为预设的清晰度标准,如果实际获得的裁剪后的图像超过设定的清晰度标准则表示图像模糊;也可以将裁剪后实际获得的图像中特征信息的白色像素点总数与设定的清晰度标准比较,如果实际的白色像素点总和超过设定的清晰度标准(白色像素点之和)则表示图像模糊,对应的线条较粗,如图11所示。在判断图像清晰之后,进行下列步骤:
步骤05:判断前后帧图差异是否大于预设的阈值,是则执行步骤06;否则继续执行步骤021;
如图1-图3实施例的说明可知,前后帧图差异判断可以在判断图像是否清晰之后,也可以在获得图像之后或同时做前后帧差异检测,不限于本实施例的具体顺序,差异检测时一般设定一个合适的阈值,判断上一幅图像与当前图像是否差异过大,若差异大则保留前后帧图,做后继检测、判定;否则舍弃其中一幅帧图。前后帧图差异主要是防止出现检测的图像一直处于静止不动无变化的状态。在本发明实施例中,判断前后帧图差异是否大于预设的阈值包括:
1.获得前、后两帧图像的角点信息;
2.分别计算前、后帧图对应位置角点坐标的差值;
3.所有对应角点坐标差值求和、求均值,设定该均值的一个阈值,若超过该阈值则说明前、后帧图差异大,两幅图均保留;否则,舍弃其中一幅;
步骤06:获得清晰的标定图像序列,即多幅满足条件(特征信息、清晰、裁剪后)的图像;
步骤07:判断图像序列是否数目大于3,是则执行步骤08;否则执行步骤01或01’,继续获取图像;如果使用二维或三维模板进行摄像机标定法,则判断最终获得的有效标定帧图是否满足标定图像数目的要求,本实施例设置标定图像数目为3;
步骤08:根据获得的清晰的3幅图像及相应的特征信息,对视频获取设备进行标定;
步骤09:获得视频获取设备内外参数。
本实施例图像清晰判定是根据傅里叶光学理论:图像清晰或聚焦的程度主要由光强分布中高频分量的多少决定,高频分量少则图像模糊,高频分量丰富则图像清晰。本实施例主要用图像光强分布的高频分量的含量多少作为图像清晰或聚焦评价函数的主要依据。
由于图像存在边缘部分,当完全聚焦时,图像清晰,包含边缘信息的高频分量最多;当离焦时,图像模糊,高频分量较少,进而可通过图像边缘信息的高频分量的多少来判断图像是否清晰或聚焦。
本实施例清晰度判断与现有的图像清晰或自动聚焦判定方法不同。现有的图像清晰或自动聚焦一般是对同一场景拍摄一系列图像,从中找到最清晰的图像,来自动调整摄像机焦距,这种判断图像是否清晰或自动聚焦的依据是对一系列图像进行相互参考,从中选取最清晰的图像作为焦距是否调整到理想位置的依据。本实施例在视频标定前期图像处理过程中是单独判断一幅图像是否清晰,或者判断图像中具有明显特征信息的部分是否清晰,图像其他部分是否清晰则不需关心。同时,本实施例图像清晰的判定不依据一系列图像,而仅仅根据单幅图像自身来判定是否清晰。
参见图12,为本发明图像处理***实施例一示意图。如图12所示,本实施例包括:
图像获取模块1,用于获取视频图像或实时捕获一系列帧图像;
特征信息检测模块2,与图像获取模块1连接,用于对获取的视频图像或一系列帧图像中的帧图像进行特征信息检测,获得具有明显特征信息的帧图像;
图像清晰判定模块40,与特征信息检测模块2及图像获取模块1连接,用于对具有特征信息的帧图像进行与清晰度相应的处理,并与预设的清晰度标准进行比较,保留清晰的图像;
图像差异检测模块5,与图像清晰判定模块40连接,用于在当前的帧图像与前一帧保存的图像之间的差异大于预设阈值时,保存当前清晰的图像。
参见图13,为本发明图像处理***实施例二示意图。如图13所示,本实施例包括:
图像获取模块1,用于获取视频图像或实时捕获一系列帧图像;
特征信息检测模块2,与图像获取模块1连接,用于对获取的视频图像或一系列帧图像中的帧图像进行特征信息检测,获得具有明显特征信息的帧图像;
图像裁剪模块3,与特征信息检测模块2连接,用于对具有特征信息的帧图像进行图像裁剪;
图像清晰判定模块4,与图像裁剪模块3及图像获取模1块连接,用于对裁剪后的帧图像进行与清晰度相应的处理,并与预设的清晰度标准进行比较,保留清晰的图像;
图像差异检测模块5,与图像清晰判定模块4连接,用于判断当前的帧图像与前一帧保存的图像之间的差异是否小于预设阈值,是则保留其中一帧图像;否则保存当前帧图像;
图像数目判定模块6,与图像差异检测模块5及图像获取模块1连接,用于对保存的帧图像数目检测,在保存的帧图像数目未达到设定数目时,使图像获取模块执行选取下一帧图像进行后续操作。
本实施例还可以包括:标定模块7,与图像数目判定模块6连接,用于根据获得的设定数目的清晰的帧图像及相应的特征信息,获得视频获取设备内外参数,对视频获取设备进行标定。
图14为本发明图像处理***实施例三示意图。如图14所示,本实施例包括:
图像获取模块1,用于获取视频图像或实时捕获一系列帧图像;
图像差异检测模块5,与图像获取模块1连接,用于在前后两帧图像之间的差异大于预设阈值时,保留前后两帧图像;
特征信息检测模块2,与图像获取模块1连接,用于对获取的视频图像或一系列帧图像中的帧图像进行特征信息检测,获得具有明显特征信息的帧图像;
图像清晰判定模块4,与特征信息检测模块2及图像获取模块1连接,用于对具有特征信息的帧图像进行与清晰度相应的处理,并与预设的清晰度标准进行比较,在当前帧图像不清晰时,舍弃当前图像,使图像获取模块执行选取下一帧图像的操作
图15为本发明图像处理***实施例四示意图。如图15所示,本实施例包括:
图像获取模块1,用于获取视频图像或实时捕获一系列帧图像;
图像差异检测模块5,与图像获取模块1连接,用于在前后两帧图像之间的差异大于预设阈值时,保留前后两帧图像;
特征信息检测模块2,与图像获取模块1连接,用于对获取的视频图像或一系列帧图像中的帧图像进行特征信息检测,获得具有明显特征信息的帧图像;
图像裁剪模块3,与特征信息检测模块2连接,用于对具有特征信息的帧图像进行图像裁剪;
图像清晰判定模块4,与图像裁剪模块3及图像获取模块1连接,用于对裁剪后的帧图像进行与清晰度相应的处理,并与预设的清晰度标准进行比较,保留清晰的图像;
图像数目判定模块6,与图像清晰模块及图像获取模块1连接,用于检测保存的帧图像数目,在保存的帧图像数目未达到设定数目时,使图像获取模块选取下一帧图像进行后续操作。
本实施例还可以包括:标定模块7,与图像数目判定模块6连接,用于根据获得的设定数目的清晰的帧图像及相应的特征信息,获得视频获取设备内外参数,对视频获取设备进行标定。
图12及图15实施例可参见图1-图7方法实施例的相关说明,具有图1-图7实施例相类似的功能及效果,完成图像预处理,便于后续标定操作,具体不再举例说明。
本发明能有多种不同形式的具体实施方式,上面以图1-图15为例结合附图对本发明的技术方案作举例说明,这并不意味着本发明所应用的具体实例只能局限在特定的流程或实施例结构中,本领域的普通技术人员应当了解,上文所提供的具体实施方案只是多种优选用法中的一些示例。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。