本发明涉及图像处理领域,具体涉及一种面向幻灯片智能截图的翻页误截识别方法。
背景技术:
在学术研讨会、商务发布会等直播场景中会出现许多与演讲配套的幻灯片,这些幻灯片往往含有巨大的信息量,进而催生了将这些幻灯片截图保存、留档的需求。采用人工截图的方式保存幻灯片页面存在效率低、成本高等问题,因此采用软件自动截图的方式是首选。软件截取幻灯片可以采用画面差异度变化则截图的基本思路,画面差异度指视频中相邻两个关键帧之间的差异程度,当检测到直播画面中画面差异度出现峰值时说明画面发生一次突变对应幻灯片的翻页动作,依次便可进行幻灯片截图。但是采用画面差异度的方式截图会有一些误截问题,主要表现在幻灯片的翻页过程被检测并截取。常见的幻灯片翻页过程包括渐变型和位移型。渐变型翻页时,画面从旧幻灯片逐渐变化为新幻灯片,此时的画面实际上是新旧两张幻灯片的重叠,基于画面差异度的幻灯片检测方法会将这一重叠的图片当作新的幻灯片而检测,称之为重影误截。位移型翻页时,旧幻灯片向某个方向移动同时新幻灯片从画面外移动到画面内,此时的画面实际上是新旧两张幻灯片一部分的拼接,基于画面差异度的幻灯片检测方法同样会将这一拼接的图片当作新的幻灯片而检测,称之为拼接误截。
技术实现要素:
针对上述问题,本发明提供了面向幻灯片智能截图的翻页误截识别方法,其目的在于判断一张图像是否是由其他图像重叠或拼接而来,可以用于判断类似上文中重影误截、拼接误截的问题。
一种面向幻灯片智能截图的翻页误截识别方法,如图3所示,用于对重影误截和拼接误截两种翻页误截情况进行识别,该方法包括:
(一)图像x、e、y是基于画面差异度从视频中识别并连续截取的三张幻灯片图像,识别图像e是否属于重影误截的具体步骤如下:
步骤1:根据图像x、y和e,计算透明度矩阵a;
步骤2:将透明度矩阵a中的无穷值inf修改为同符号的图像像素的最大灰度值、非数值nan修改为其他有限数的均值,得到修改后的矩阵a′;
步骤3:计算a′的均值μ和方差σ2;
其中n为a′的元素总数;
步骤4:若σ2小于预设第一阈值,则图像e是由图像x、y重叠而成,属于重影误截,且重叠透明度为μ,否则图像e不属于重影误截;
(二)图像z、f是基于画面差异度从视频中识别并连续截取的两张幻灯片图片,识别图像f是否属于拼接误截的具体步骤如下:
步骤(1):在图像z中选取若干窗口,得到待匹配窗口集合{wz};
步骤(2):将{wz}中每个窗口与f进行匹配,得到匹配窗口对集合{(wz,wf)};
步骤(3):根据{(wz,wf)},计算得到位移向量集合{v},其中v表示起点为wz、终点为wf的向量;
步骤(4):将{v}中相同的向量作为一个分组,每个分组内向量的数量作为直方高度,得到直方图,若{v}中位移向量数量与待匹配窗口数之比超过预设第二阈值、且直方图中最高的直方高度与{v}中位移向量数量之比超过预设第三阈值,则图像f由图像z和其他图像拼接而成,属于拼接误截,否则不属于拼接误截。
进一步,步骤1中透明度矩阵a使用如下公式进行计算:
式中
进一步,步骤2中使用如下公式将非数值nan修改为其他有限数:
式中a(i,j)表示a中第i行第j列元素。
进一步,步骤3中a′的均值μ和方差σ2的计算公式为:
其中n为a′的元素总数。
进一步,步骤(1)中采用滑动窗口法选取窗口,并选取窗口内像素方差大于预设第四阈值的窗口作为待匹配窗口,其中窗口内像素方差的计算公式如下:
式中w(i,j)表示窗口w内坐标(i,j)的像素,μ(w)表示窗口w内像素均值,m表示窗口w内像素数量。
进一步,步骤(2)中的匹配过程如下:
将wz作为滤波矩阵在图像f上逐像素移动并计算,得到差异图diff:
diff(i,j)=diff(wz,f[i:i h,j:j w])
其中diff(i,j)表示差异图diff中坐标(i,j)的像素值,h和w为wz的高和宽,f[i:i h,j:j w]表示图像f中第i至i h行、第j至j w列范围的子图,diff(wz,f(i:i h,j:j w))表示wz和f(i:i h,j:j w)的差异值;
diff中最小像素值对应的位置即为wz的匹配位置。
进一步,diff(·,·)定义如下:
diff(·,·)定义如下:
其中x和y表示同尺寸图像,k为x或y的像素总数,rx、gx、bx分别为图像x的红、绿、蓝通道图像,ry、gy、by分别为图像y的红、绿、蓝通道图像。
进一步,步骤(4)中拼接向量为直方图中直方高度最大所代表的位移向量,z按照拼接向量平移后将与f部分重合。
有益效果:本发明能有效解决幻灯片智能截图场景中幻灯片在翻页时产生的重影误截和拼接误截问题。
附图说明
图1是重影误截的例图,其中(a)、(b)、(c)分别是x、e、y;
图2是拼接误截的例图,其中(a)、(b)、分别是z、f;
图3是本发明的方法流程图。
具体实施方式
下面结合附图以及具体实施例对本发明的技术方案作进一步阐述:
以图1为例说明本发明针对幻灯片翻页过程中页面重叠时产生的重影误截的识别过程。如图1中(a)、(b)、(c)所示的x、e、y是由一种基于画面差异度从视频中识别并连续截取的三张幻灯片图片。其中e为x、y重叠而成,其满足透明度叠加公式e=ax (1-a)y,其中a为透明度,该公式表明e由x和y透明化后叠加而成。
步骤1:利用透明度叠加公式的反推公式计算透明度矩阵a:
式中
素的透明度,根据透明度叠加公式可以发现如果e为x、y叠加而成那么矩阵a中的所有元素理论上应该是相同的。
步骤2:当e并非x、y叠加而成时,矩阵a中很可能出现大量异常值需要额外处理,包括无穷值inf和非数值nan。其中inf源自除法中出现非零数除以零的情况,nan源自除法中出现零除以零的情况。为了方便后续处理,需要将inf修改为同符号的图像像素的最大灰度值,因为a中最大的有限数即为像素可能的最大灰度值,本例中为255。因为nan会在零除以零时产生,所以其理论上可以等于任何值,为了最小化后续步骤中方差的计算,所以修改nan为其他有限数的均值,即:
修改异常值后的透明度矩阵为a′。
步骤3:实际上由于图片噪点、计算精度等原因,即使e是x、y叠加而成的,其对应的透明度矩阵a′中的元素也不会全部相等,因此需要用统计方法来容忍一定的误差因素,需要计算透明度矩阵a′的均值μ和方差σ2:
其中n为矩阵a′的元素总数,其中方差代表了数据的集中程度,根据以上步骤对附图1所示图像进行计算,所得均值μ=0.4033、方差σ2=0.8127。
步骤4:根据透明度矩阵a′的均值和方差判断图像重叠情况,方差越小说明数据越集中,也就说明矩阵a′中的元素越接近相等,所以当方差小于预设的重影阈值t时可以认为图像e由x和y重叠而成,可以判断e为幻灯片翻页误截,重叠透明度即为a′的均值,判断过程表示为公式如下:
本例中重影阈值t=5,此时σ2<t,e为重影误截图像,重叠透明度为0.4033。
以图2为例说明本发明针对幻灯片翻页过程中页面重叠时产生的拼接误截的识别过程。如图2中(a)、(b)所示的z、f是由一种基于画面差异度从视频中识别并连续截取的两张幻灯片图片。其中f为拼接图像,f中的部分区域与z中的部分区域完全相同,另一部分区域则来自下一页幻灯片。
步骤1:在图像z中选取若干窗口,选取方法可以采用滑动窗口法,设定窗口的尺寸和移动次数,让窗口在f中按步长不断移动,每次移动得到一个窗口。本例中选择窗口尺寸为100×100,且水平滑动10步、竖直滑动6步,共生成60个窗口。对于纯色背景等无内容的窗口进行下一步的匹配容易出现多个匹配点的问题,而像素值方差可以一定程度的反应图片中内容的多少,所以应当再根据窗口内像素方差进行筛选,像素方差计算如下:
式中w(i,j)表示窗口w内坐标(i,j)的像素,μ(w)表示窗口w内像素均值,m表示窗口w内像素数量。仅保留像素方差大于预设阈值的窗口,本例阈值取100,即σ2>100时保留,本例中保留了52个窗口,得到待匹配窗口集合{wx}。
步骤2:从{wx}中选择窗口wx到e中进行图像匹配,图像匹配是指在e中寻找与wx差异最小的部分we,差异程度称为差异值,图像的匹配操作是一种基于差异值的图像滤波操作,将wx作为滤波矩阵在e上逐像素移动并计算画面差异度,其计算过程可以表示为:
diff(i,j)=diff(wz,f[i:i h,j:j w])(公式6)
其中diff(i,j)表示差异图diff中坐标(i,j)的像素,h和w为wz的高和宽,f[i:i h,j:j w]表示图像f中第i至i h行、第j至j w列范围的子图,diff表示图像差异值,定义如下:
其中x和y为同尺寸图像,k为x或y的像素总数,rx、gx、bx分别为图像x的红、绿、蓝通道图像,ry、gy、by分别为图像y的红、绿、蓝通道图像。
diff中每个像素都表示wz在当前位置的与f的画面差异程度,所以diff中最小值所在的位置就是wz最匹配的位置。对{wz}中的每个窗口都匹配完成后,可能有些窗口无法匹配,此时对应匹配窗口的差异值较高,去除差异值大于差异阈值的窗口对,本例中差异阈值取0.002,得到匹配的窗口对集合{(wz,wf)},其中共有27对匹配窗口,如附图2中z、f的线框所示。图z的框中数字表示窗口标号,图f的框中数字表示窗口标号和差异值(为了显示效果,差异值均被乘以100后显示),窗口标号相同的两个线框即为一对匹配窗口(wz,wf)。
步骤3:根据窗口对集合{(wz,wf)},计算得到位移向量集合{v},其中位移向量v是起点为wz、终点为wf的向量,可以窗口左上角坐标作差的方式计算v,窗口对(wz,wf)的v表明了wz按照v移动后将与f较为重合。本例中,{v}包含24个(0,-203)、2个(1,-203)和1个(0,0)。
步骤4:将{v}中相同的向量作为一个分组,分组内向量的数量作为直方高度,统计{v}得到直方图。若{v}中向量数量与滑动窗口数之比超过预设阈值tw,且直方图中最高的直方高度与{v}中向量数量之比超过预设阈值tv,则可以认为f的一部分与z的一部分完全相同,即f由z和其他图像拼接而成,拼接向量即为直方图中最高直方所代表的向量,z按照拼接向量平移后将与f部分重合。本例中,取tw=0.33,tv=0.6,此时有
应当指出,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也在本申请权利要求的保护范围内。
1.面向幻灯片智能截图的翻页误截识别方法,用于对重影误截和拼接误截两种翻页误截情况进行识别,其特征在于,该方法包括:
(一)图像x、e、y是基于画面差异度从视频中识别并连续截取的三张幻灯片图像,识别图像e是否属于重影误截的具体步骤如下:
步骤1:根据图像x、y和e,计算透明度矩阵a;
步骤2:将透明度矩阵a中的无穷值inf修改为同符号的图像像素的最大灰度值、非数值nan修改为其他有限数的均值,得到修改后的矩阵a′;
步骤3:计算a′的均值μ和方差σ2;
其中n为a′的元素总数;
步骤4:若σ2小于预设第一阈值,则图像e是由图像x、y重叠而成,属于重影误截,且重叠透明度为μ,否则图像e不属于重影误截;
(二)图像z、f是基于画面差异度从视频中识别并连续截取的两张幻灯片图片,识别图像f是否属于拼接误截的具体步骤如下:
步骤(1):在图像z中选取若干窗口,得到待匹配窗口集合{wz};
步骤(2):将{wz}中每个窗口与f进行匹配,得到匹配窗口对集合{(wz,wf)};
步骤(3):根据{(wz,wf)},计算得到位移向量集合{v},其中v表示起点为wz、终点为wf的向量;
步骤(4):将{v}中相同的向量作为一个分组,每个分组内向量的数量作为直方高度,得到直方图,若{v}中位移向量数量与待匹配窗口数之比超过预设第二阈值、且直方图中最高的直方高度与{v}中位移向量数量之比超过预设第三阈值,则图像f由图像z和其他图像拼接而成,属于拼接误截,否则不属于拼接误截。
2.根据权利要求1所述的面向幻灯片智能截图的翻页误截识别方法,其特征在于,步骤1中透明度矩阵a使用如下公式进行计算:
式中“÷”表示按元素除。
3.根据权利要求1所述的面向幻灯片智能截图的翻页误截识别方法,其特征在于,步骤2中使用如下公式将非数值nan修改为其他有限数:
式中a(i,j)表示a中第i行第j列元素。
4.根据权利要求1所述的面向幻灯片智能截图的翻页误截识别方法,其特征在于,步骤3中a′的均值μ和方差σ2的计算公式为:
其中n为a′的元素总数。
5.根据权利要求1所述的面向幻灯片智能截图的翻页误截识别方法,其特征在于,步骤(1)中采用滑动窗口法选取窗口,并选取窗口内像素方差大于预设第四阈值的窗口作为待匹配窗口,其中窗口内像素方差的计算公式如下:
式中w(i,j)表示窗口w内坐标(i,j)的像素,μ(w)表示窗口w内像素均值,m表示窗口w内像素数量。
6.根据权利要求1所述的面向幻灯片智能截图的翻页误截识别方法,其特征在于,步骤(2)中的匹配过程如下:
将wz作为滤波矩阵在图像f上逐像素移动并计算,得到差异图diff:
diff(i,j)=diff(wz,f[i:i h,j:j w])
其中diff(i,j)表示差异图diff中坐标(i,j)的像素值,h和w为wz的高和宽,f[i:i h,j:j ω]表示图像f中第i至i h行、第j至j w列范围的子图,diff(wz,f(i:i h,j:j w))表示wz和f(i:i h,j:j w)的差异值;
diff中最小像素值对应的位置即为wz的匹配位置。
7.根据权利要求6所述的面向幻灯片智能截图的翻页误截识别方法,其特征在于,diff(·,·)定义如下:
其中x和μ表示同尺寸图像,k为x或y的像素总数,rx、gx、bx分别为图像x的红、绿、蓝通道图像,ry、gy、by分别为图像y的红、绿、蓝通道图像。
8.根据权利要求1所述的面向幻灯片智能截图的翻页误截识别方法,其特征在于,步骤(4)中拼接向量为直方图中直方高度最大所代表的位移向量,z按照拼接向量平移后将与f部分重合。
技术总结