一种基于帧间差分自动提取稳定帧的方法与流程

文档序号:13934721阅读:239来源:国知局

本发明属于机器视觉工业应用中的智能识别领域,尤其涉及用于非接触式扫描中提取稳定帧的一种基于帧间差分自动提取稳定帧的方法。。



背景技术:

随着计算机和网络技术的普及,电子版文档凭借其易于储存利用、传播快捷简便的优势被越来越多的人们所接受。因此,将原来以纸作为载体的资料转化为电子版文档,也就是纸质文档的数字化无论是在日常办公中,还是在图书馆资料管理中的应用都日益增加。

非接触式扫描作为一种新型的纸质文档数字化方式,得到了越来越多的应用,它目前还存在一定的提升空间。非接触式扫描采用翻页的方式来进行扫描,可以通过自动检测的方式来提取图像,取代本来的人工拍摄操作。本发明的方法就是应对这种需求,通过使用帧间差分法来检测翻书的动作,自动提取出稳定后的翻过的每一页图像并且能够避免同一页的重复提取。大大地减少了人的工作量,提高了自动化的程度,进一步提升非接触式扫描的实用性。实验结果表明,该方法不仅高效快捷,而且能够保证较好检测精度,具有实用价值。



技术实现要素:

本发明的目的在于:针对非接触式扫描存在的重复提取的不足之处,本发明提供了一种基于帧间差分自动提取稳定帧的方法。

本发明采用的技术方案如下:

一种基于帧间差分自动提取稳定帧的方法,包括以下步骤:

步骤1:读取需要提取稳定帧的连续图像f1(x,y),f2(x,y)…fn(x,y),并将读取的连续图像转化为对应的灰度图像f1_gray(x,y),f2_gray(x,y)…fn_gray(x,y);

步骤2:提取步骤1灰度图像中相邻两幅图像fi_gray(x,y)和fi+1_gray(x,y)的帧差,并记为翻书帧差diffi,得到翻书帧差序列diff1,diff2…diffn-1;

步骤3:设定帧差阈值,设置稳定帧帧差阈值为diffa,翻书帧帧差阈值为diffb;

步骤4:矫正步骤3中设置的稳定帧帧差阈值diffa和翻书帧帧差阈值为diffb;

步骤5:将步骤2中的每一个翻书帧差分别与步骤4中矫正后的稳定帧帧差阈值diffa和翻书帧帧差阈值diffb进行比较,来判断每一帧连续图像是否为稳定帧,如果连续图像是稳定帧,则提取稳定帧图像。

进一步地,所述步骤1的具体步骤如下:

步骤11:读取需要提取稳定帧的n帧连续图像,即初始图像,第i帧初始图像为fi(x,y),n帧连续图像依次为f1(x,y),f2(x,y)…fn(x,y);

步骤12:将初始图像fi(x,y)转换成灰度图像fi_gray(x,y),其中灰度图像fi_gray(x,y)的每个像素点的灰度值的公式如下:

其中rf(x,y)表示初始图像fi(x,y)红色通道每个像素点的像素值;gf(x,y)表示初始图像fi(x,y)绿色通道每个像素点的像素值;bf(x,y)表示初始图像fi(x,y)蓝色通道每个像素点的像素值,(x,y)表示初始图像的每个像素点;

进一步地,所述步骤2的具体步骤如下:

步骤21:提取相邻两帧图像fi(x,y)和fi+1(x,y),的帧差,记为翻书帧差diffi,计算翻书帧差diffi的具体方法如下:

步骤211:令

diffi(x,y)是第i帧图像中像素点(x,y)二值化图像,t是灰度值差的阈值;

步骤212:第i幅图像的翻书帧差计算公式为:

n为像素点个数;

步骤22:得到连续图像的翻书帧差序列diff1,diff2…diffn-1。

进一步地,所述步骤3的具体步骤如下:

步骤31:设定帧差阈值,设稳定帧帧差阈值初始值为diffa,翻书帧帧差阈值初始值为diffb,若连续的两帧图像的帧差大于diffb,则判定为翻书状态,若小于diffa,则判定为稳定状态。

进一步地,所述步骤4的具体步骤如下:

步骤41:首先获取一段翻一页书的连续图像作为材料来进行稳定帧帧差阈值diffa和翻书帧帧差阈值的矫正;所获取连续图像包括以静止状态开始的书页a的图像、翻书页a的所有图像,以及最后翻完书页a后,书页a呈静止状态的图像,读取该翻书过程的连续图像并计算其帧差,得到帧差最大值diffmax和帧差最小值diffmin;

步骤42:在步骤41的基础上,更新稳定帧帧差阈值和翻书帧帧差阈值,更新稳定帧帧差阈值和翻书帧帧差阈值的计算公式如下,

步骤43:重复步骤41~42m次,得到矫正后的稳定帧帧差阈值diffa和翻书帧帧差阈值diffb。

进一步地,所述步骤5的具体步骤如下:

步骤51:使用步骤4矫正后的稳定帧帧差阈值diffa和翻书帧帧差阈值diffb来提取稳定帧,具体步骤如下:

步骤511:在步骤2得到的帧差序列diff1,diff2…diffn-1中,从diff1开始按顺序进行检索;

步骤512:开始处于等待翻书状态,检索下一帧图像,若出现diffi>diffb,则判断为已经开始翻书,并进入等待稳定状态,继续检索下一帧图像,直到出现diffj<diffa,则判断翻书完成,已经稳定,此时,提取fj+1(x,y)作为稳定帧,记所提取的稳定帧为fk(x,y),其中k为所提取的稳定帧序号,进入等待翻书状态;

步骤52:检索完帧差序列diff1,diff2…diffn-1,即得到从原始图像序列中得到的稳定帧序列f1(x,y),f2(x,y)…fm(x,y),m为提取出的稳定帧的数目。

进一步地,步骤5中,在提取稳定帧的过程中,若翻书帧差小于翻书帧帧差阈值diffb,则重新调整翻书帧帧差阈值diffb。

进一步地,重新调整翻书帧帧差阈值diffb的具体步骤如下:

步骤61:在步骤5提取稳定帧过程中,若光照或其他外部环境条件发生变化,致使提取稳定帧过程无法检测到翻书动作,即diffmax<diffb,无法提取稳定帧;则重新调整翻书帧帧差;具体调整步骤如下,

步骤611:从无法检测到翻书动作的图像中选择一段连续图像作为材料来进行矫正,连续图像以静止状态开始,然后翻一页书,最后静止,读取该连续图像并计算其帧差,得到帧差最大值diffmax和帧差最小值diffmin;

步骤612:更新翻书帧帧差阈值,更新翻书帧帧差阈值的计算公式如下,

步骤613:更新翻书帧差diffmax之后,判断是否能够正常提取稳定帧,若能够正常提取稳定帧,则回到步骤5的提取稳定帧过程,否则,则再一次执行步骤6,直到能够提取稳定帧。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

一、本发明的方案能够自动从连续的翻书图像序列中提取出所需要的每一张书页图像,在图像提取过程中,只需要进行翻书操作,提供翻书操作的连续图像即可,在翻书的同时不需要人工进行扫描设备的操作。具有极强的鲁棒性,减少了人的工作量,进一步提升非接触式扫描的实用性。

二、本发明所述的方案在提取扫描页的过程中,会自动将不稳定的图片识别出来,只提取翻书状态稳定后的书页,因此,最后的扫描文件中,所提取图像的重复率极大降低。

三、该算法效率很高,可以极快的检测到所需要的稳定帧并提取出来,相比于人力的手动提取的方式,极大的节约了时间。提升了非接触式扫描的速度。

附图说明

本发明将通过例子并参照附图的方式说明,其中:

图1是本发明的流程示意图。

具体实施方式

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

一种基于帧间差分自动提取稳定帧的方法,其特征在于,包括以下步骤:

步骤1:读取需要提取稳定帧的n帧连续图像f1(x,y),f2(x,y)…fn(x,y),即初始图像,并将读取的连续图像转化为灰度图像,其中,第i帧图像的灰度图像为fi(x,y),n帧连续图像的灰度图像分别为f1_gray(x,y),f2_gray(x,y)…fn_gray(x,y)。具体步骤如下:

步骤11:读取需要提取稳定帧的n帧连续图像,为f1(x,y),f2(x,y)…fn(x,y)。

步骤12:将n帧连续图像中的第i帧初始图像fi(x,y)转换成灰度图像fi_gray(x,y),连续图像中所有帧图像转化的灰度图像为f1_gray(x,y),f2_gray(x,y)…fn_gray(x,y);其中灰度图像fi_gray(x,y)的每个像素点的灰度值的公式如下:

其中,rf(x,y)表示初始图像f(x,y)红色通道每个像素点的像素值;gf(x,y)表示初始图像f(x,y)绿色通道每个像素点的像素值;bf(x,y)表示初始图像f(x,y)蓝色通道每个像素点的像素值,(x,y)表示初始图像的每个像素点;

步骤2:提取步骤1所有相邻连续的两帧图像fi(x,y)和fi+1(x,y)的帧差,记为diffi,得到翻书帧差序列diff1,diff2…diffn-1。具体步骤如下:

步骤21:对于连续的两幅图像fi(x,y)和fi+1(x,y),提取他们的帧差,设为diffi,计算帧差的具体方法如下:

步骤211:令

diffi(x,y)是第i帧图像中像素点(x,y)二值化图像,t是灰度值差的阈值,一般设为40左右。

步骤212:第i幅图像的翻书帧差计算公式为:

n为像素点个数。

步骤22:得到帧差diff1,diff2…diffn-1;

步骤3:设定帧差阈值。设稳定帧帧差阈值为diffa,翻书帧帧差阈值为diffb。若连续的两帧帧差大于diffb,则判定为翻书状态,若小于diffa,则判定为稳定状态;具体步骤如下:

步骤31:设定帧差阈值。设稳定帧帧差阈值初始值为diffa=0,翻书帧帧差阈值初始值为diffb=0.7。若连续的两帧帧差大于diffb,则判定为翻书状态,若小于diffa,则判定为稳定状态。

步骤4:通过一段翻一页书的连续帧来矫正diffa和diffb,重复十次,得到更准确的diff和diffb。步骤2和步骤3是提取稳定帧运行前的准备工作,只需要计算一次。具体步骤如下:

步骤41:首先用需要一段翻一页书a的连续图像作为材料来进行矫正,翻一页书a的连续图像以静止状态开始,然后包括翻一页书a过程中的所有图像,最后翻一页书a的连续图像静止,读取该连续图像并计算其帧差,得到帧差最大值diffmax和帧差最小值diffmin。

步骤42:在步骤41的基础上,更新稳定帧帧差和翻书帧帧差,更新稳定帧帧差和翻书帧帧差的计算公式如下,

步骤43:重复步骤41~42m次,此处m取十次,得到较为准确的矫正后的稳定帧帧差阈值diffa和翻书帧帧差阈值diffb。

步骤5:使用稳定帧帧差阈值diffa和翻书帧帧差阈值diffb来提取稳定帧;具体步骤如下:

步骤51:使用步骤4矫正过的稳定帧帧差阈值diffa和翻书帧帧差阈值diffb来提取稳定帧,具体步骤如下:

步骤511:在步骤2得到的帧差序列diff1,diff2…diffn-1中,从diff1按顺序进行检索;

步骤512:开始处于等待翻书状态,往后检索,检索下一帧图像,若出现某个diffi>diffb,则认为已经开始翻书,进入等待稳定状态,继续往后检索(检索下一帧图像),直到遇到某个diffj<diffa,则认为翻书完成,已经稳定,提取fj+1(x,y)作为稳定帧,所提取的稳定帧图像记为fk(x,y),其中k为所提取的稳定帧序号。然后进入等待翻书状态,即回到了开始的状态,继续往后检索(检索下一帧图像),即重复步骤512。

步骤52:检索完帧差序列diff1,diff2…diffn-1,即可得到从原始图像序列中得到的稳定帧序列f1(x,y),f2(x,y)…fm(x,y)(m为提取出的稳定帧的数目)。

步骤6:在算法运行过程中,若光照或其他外部环境条件发生变化,致使翻书的最大帧差小于翻书帧帧差阈值diffb,重新调整翻书帧帧差。具体步骤如下:

步骤61:在步骤5提取稳定帧过程中,若光照或其他外部环境条件发生变化,致使提取稳定帧过程无法检测到翻书动作(即diffmax<diffb),无法提取稳定帧。则需要重新调整翻书帧帧差。重新调整翻书帧帧差的方法类似于步骤4,具体如下

步骤611:从无法检测到翻书动作的图像中选择一段连续图像作为材料来进行矫正,连续图像以静止状态开始,然后翻一页书,最后静止,读取该连续图像并计算其帧差,得到帧差最大值diffmax和帧差最小值diffmin。

步骤612:更新翻书帧帧差阈值,更新翻书帧帧差阈值的计算公式如下,

步骤613:更新翻书帧差diffmax之后,判断是否能够正常提取稳定帧,若能够正常提取稳定帧,则回到步骤5的提取稳定帧过程,若仍然不能正常提取稳定帧,则再一次执行步骤6,直到能够提取稳定帧。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1