一种物理白板的透视方法及虚拟白板的生成方法与流程

文档序号:30842423发布日期:2022-07-23 00:58阅读:141来源:国知局
一种物理白板的透视方法及虚拟白板的生成方法与流程

1.本发明涉及图像识别领域,尤其涉及一种物理白板的透视方法及虚拟白板的生成方法。


背景技术:

2.现有技术方案包括一种白板检测、透视的方法,该方法先通过摄像头采集图像,随后根据图像提取出白板的边缘信息,从而定位白板具体位置,通过对白板使用仿射变化,实现白板图像的校正;进一步根据相邻几帧之间的颜色信息做前背景检测,使用多帧融合的策略实现人物透视和白板颜色净化。
3.本发明人在实施本发明的时候发现,现有技术具有以下缺点:白板中的稠密色块不稳定,会不断发生变换;当物理白板中线条过多时,白板的角点检测容易发生误检,导致无法对白板进行正确的仿射变换;白板检测、透视整体耗时较高,对硬件性能要求较高。
4.因此,亟需一种白板透视的策略,来解决现有的白板透视效率低、成本高的问题。


技术实现要素:

5.本发明实施例提供一种物理白板的透视方法及虚拟白板的生成方法,以提高白板透视效率的问题。
6.为了解决上述问题,本发明一实施例提供一种物理白板的透视方法,包括:
7.获取多帧物理白板图像的虚拟图像,对每帧所述物理白板图像的虚拟白板进行预设的颜色增强处理后,获得每帧所述物理白板图像的增强图像;
8.在每帧所述物理白板图像的增强图像中,根据当前帧虚拟白板的增强图像与上一帧虚拟白板的增强图像,结合预设的加权算法,获得每帧所述物理白板图像的运动图;根据当前帧所述虚拟白板图像的增强图像与第一帧虚拟白板的底色图像,结合预设的加权算法,获得每帧所述物理白板图像的色差图;其中,所述第一帧虚拟白板的底色图像根据预设的算法提取第一帧所述物理白板的虚拟白板的底色图像;
9.根据所述运动图和所述色差图,根据使用中值滤波和膨胀算法,生成每帧所述物理白板图像的前景掩膜;
10.根据当前帧物理白板图像的前景掩膜、当前帧物理白板图像的增强图像、以及上一帧物理白板图像的全透视图像,用预设的系数加权融合,获得当前帧物理白板图像的半透视图像。
11.由上可见,本发明具有如下有益效果:在生成高精确度的虚拟白板基础上,通过颜色增强处理提高白板颜色的纯净度,并根据预设的算法处理每帧物理白板图像对应的虚拟白板,获得底色图像、运动图和色差图,进而获得前景掩膜。通过当前帧的前景掩膜、当前帧的颜色增强图片以及前一帧的全透视图片,实现人物透视平滑的效果。本发明不仅降低了白板透视算法的计算复杂度,更提高了检测和透视的准确度,从而使用户获得更好的体验。
12.作为上述方案的改进,所述第一帧虚拟白板的底色图像,具体为:根据每帧所述物
理白板图像的虚拟白板,对第一帧所述物理白板图像的虚拟白板的y分量做预设尺寸的滑窗分块,获得多个区块;对所述多个区块进行最大堆排序,提取排序位于预设范围的区块对应的y分量值的均值,获得所述第一帧虚拟白板的底色图像。通过使用基于滑窗的局部最大均值,来提高白板底色提取的效率,从而获得高质量的白板底色。
13.作为上述方案的改进,所述获取多帧物理白板图像的虚拟图像,对每帧所述物理白板图像的虚拟白板进行预设的颜色增强处理后,获得每帧所述物理白板图像的增强图像,具体为:根据每帧所述物理白板图像的虚拟白板,提取每帧所述物理白板图像的底色,获得每帧所述物理白板图像中每个点的初始像素;根据预设的像素激活函数,分别对每帧所述物理白板图像中每个点的初始像素进行颜色增强。在提取到白板的底色图像后,使用预设的像素激活函数进行颜色增强,提高了底色图像的纯净程度,从而提高了图像融合的效率。
14.作为上述方案的改进,所述在每帧所述物理白板图像的增强图像中,根据当前帧虚拟白板的增强图像、上一帧虚拟白板的增强图像与第一帧虚拟白板的底色图像,结合预设的加权算法,分别获得每帧所述物理白板图像的运动图和每帧所述物理白板图像的色差图,具体为:
15.将每帧增强图像缩小至原图大小的四分之一,直接对缩小后的当前帧虚拟白板的增强图像与缩小后的上一帧虚拟白板的增强图像做差后加权相加,得到绝对值。当像素运动变化大于运动阈值时,运动图对应位置的值+1,否则清零,公式为:
[0016][0017]
其中,c
small
(x)示缩小后的当前帧虚拟白板的增强图像的yuv向量,p
small
(x)表缩小后的上一帧虚拟白板的增强图像的yuv向量,w
yuv
表示yuv分量的权重,d
thresh
表示运动阈值;对缩小后的当前帧虚拟白板的增强图像,和缩小后的第一帧虚拟白板的底色图像做差后加权相加,得到绝对值,当色度变化大于色差阈值时,色差图对应位置的值为0,否则为1,公式为:
[0018][0019]
其中,c
small
(x)表示缩小后的当前帧虚拟白板的增强图像的yuv向量,和w
small
(x)表示缩小后的第一帧虚拟白板的底色图像的yuv向量,w

yuv
表示yuv分量的权重,h
thresh
表示色差阈值;通过对当前帧虚拟白板的增强图像、前一帧虚拟白板的增强图像和第一帧虚拟白板的底色图像进行前景掩膜的生成,从而提高白板透视的准确度,为后续步骤进行透视奠定了坚实的基础。
[0020]
作为上述方案的改进,所述根据当前帧物理白板图像的前景掩膜、当前帧物理白板图像的增强图像、以及上一帧物理白板图像的全透视图像,用预设的系数加权融合,获得当前帧物理白板图像的半透视图像,具体为:根据当前帧物理白板图像的前景掩膜、当前帧物理白板图像的增强图像、以及上一帧物理白板图像的全透视图像,结合预设的系数,进行图像融合,从而获得当前帧物理白板的全透视图像,公式为:
[0021][0022]
其中,b(x)为当前帧物理白板的全透视图像,a(x)为前一帧物理白板的全透视图像,c(x)为当前帧物理白板图像的增强图像,m(x)为当前帧物理白板图像的前景掩膜;根据当前帧物理白板的全透视图像和当前帧物理白板图像的增强图像,结合预设的系数进行二次图像融合,从而获得当前帧物理白板图像的半透视图像,公式为:
[0023][0024]
其中,b(x)为当前帧物理白板的全透视图像,c(x)为当前帧物理白板图像的增强图像,r(x)为当前帧物理白板的半透视图像。结合色差图、运动图以及前景掩膜,通过全透视图像融合和半透视图像融合,优化了白板中前背景检测的规则和图层融合方案,让最终处理的白板图像更加平滑,实现了更加美观的透视功能。
[0025]
相应的,本发明还提供了一种虚拟白板的生成方法,包括:
[0026]
获取第一帧物理白板图像,提取所述第一帧物理白板图像的边缘点集合;
[0027]
根据预设的霍夫曼直线检测算法,将所述边缘点集合映射为第一直线集合,并计算所述第一直线集合中每条直线的交点重叠次数,获得所述第一帧物理白板图像的有效直线集合;其中,所述有效直线集合中直线的交点重叠次数大于过滤阈值;
[0028]
根据所述第一帧物理白板图像的有效直线集合,组合获得所述第一帧物理白板图像的白板区域;
[0029]
对所述白板区域进行单应性变换处理,获得所述第一帧物理白板图像的虚拟白板;
[0030]
根据所述第一帧物理白板的虚拟白板,可用于确定其它帧的物理白板的虚拟白板,从而应用如本发明所述的物理白板的透视方法,对所有帧的物理白板图像的虚拟白板进行白板的透视。
[0031]
由上可见,本发明具有如下有益效果:本发明通过使用霍夫曼直线检测法,并统计直线的重叠次数,增加白板相关直线的判断维度,提高了直线的提取准确度,进而提高了虚拟白板获取的准确度,更好地进行白板位置的识别。除此之外,相对于现有技术,对白板进行检测从而生成虚拟白板的计算复杂度也有所降低。
[0032]
作为上述方案的改进,所述根据预设的霍夫曼直线检测算法,将所述边缘点集合映射为第一直线集合,并计算所述第一直线集合中每条直线的交点重叠次数,获得所述第一帧物理白板图像的有效直线集合,具体为:构建霍夫曼空间,将所述边缘点集合n映射为多段直线n
h1
、n
h2


、n
hn
,每条直线的函数表达式为:其中,θ∈[0
°
,360
°
],从而获得所述第一帧物理白板图像的第一直线集合;根据预设的重叠分辨率值,计算所述第一直线集合的交点坐标,并获取每个交点的重叠次数;在所述第一帧物理白板图像中,将有效交点在欧拉空间中映射为有效直线,从而获得所述有效直线集合;其中,所述有效交点为重叠次数大于重叠阈值的交点。通过霍夫曼直线检测算法对每个边缘点所映射的直线进行重叠检测,在设置了重叠分辨率值的情况下,将重叠次数大于重叠阈值的交点在欧拉映射为有效直线,保证了画面中高质量直线的提取,提高了白板直线提取的准确率
和效率。
[0033]
作为上述方案的改进,在所述组合获得所述第一帧物理白板图像的白板区域之前,还包括:根据所述有效直线集合中的重叠直线的重叠次数,通过预设的过滤算法,过滤所述有效直线集合中的重叠次数小、角度不对的直线,获得所述第一帧物理白板图像的白板直线集合。通过保留下来的重叠次数,结合预设的过滤算法,过滤了大量的白板误检直线,在包含地板边界、墙壁边界的情况下,进一步提高了白板直线提取的准确率。
[0034]
作为上述方案的改进,所述组合获得所述第一帧物理白板图像的白板区域,具体为:根据所述白板直线集合,组合获得所述第一帧物理白板图像的有效四边形集合;其中,所述有效四边形为面积大于预设面积数值的四边形;统计所述有效四边形集合中四边形的重叠次数,选择重叠次数最高的四边形代表的区域作为所述第一帧物理白板图像的白板区域。在提取到高质量直线的基础上,通过确定组成四边形的重叠次数,获得了物理白板图像中的白板区域,在重叠阈值判断的基础下,增大了白板区域确定的准确性。
[0035]
作为上述方案的改进,所述对所述白板区域进行单应性变换处理,获得所述第一帧物理白板图像的虚拟白板,具体为:计算所述白板区域的四个角点,并根据相机模型和摄像头焦距计算获得所述白板区域的四个坐标点;根据所述白板区域的四个角点与所述白板区域的四个坐标点,结合内存优化和汇编优化,在yuv空间内进行高性能的单应性变换,从而获得每帧所述物理白板图像的虚拟白板。通过角点和坐标点的计算,在内存优化和汇编优化的基础上,提高了单应性变换的效率,从而更快地获得虚拟白板。
[0036]
相应的,本发明还提供了一种物理白板的透视装置,包括:图像增强模块、融合模块、前景掩膜模块和透视模块;
[0037]
所述图像增强模块,用于获取多帧物理白板图像的虚拟图像,对每帧所述物理白板图像的虚拟白板进行预设的颜色增强处理后,获得每帧所述物理白板图像的增强图像;
[0038]
所述融合模块,用于在每帧所述物理白板图像的增强图像中,根据当前帧虚拟白板的增强图像与上一帧虚拟白板的增强图像,结合预设的加权算法,获得每帧所述物理白板图像的运动图;根据当前帧所述虚拟白板图像的增强图像与第一帧虚拟白板的底色图像,结合预设的加权算法,获得每帧所述物理白板图像的色差图;其中,所述第一帧虚拟白板的底色图像根据预设的算法提取第一帧所述物理白板的虚拟白板的底色图像;
[0039]
所述前景掩膜模块,用于根据所述运动图和所述色差图,根据使用中值滤波和膨胀算法,生成每帧所述物理白板图像的前景掩膜;
[0040]
所述透视模块,用于根据当前帧物理白板图像的前景掩膜、当前帧物理白板图像的增强图像、以及上一帧物理白板图像的全透视图像,用预设的系数加权融合,获得当前帧物理白板图像的半透视图像。
[0041]
作为上述方案的改进,所述第一帧虚拟白板的底色图像,具体为:根据每帧所述物理白板图像的虚拟白板,对第一帧所述物理白板图像的虚拟白板的y分量做预设尺寸的滑窗分块,获得多个区块;对所述多个区块进行最大堆排序,提取排序位于预设范围的区块对应的y分量值的均值,获得所述第一帧虚拟白板的底色图像。
[0042]
作为上述方案的改进,所述图像增强模块,包括:第一像素单元和第二像素单元;
[0043]
所述第一像素单元,用于根据每帧所述物理白板图像的虚拟白板,提取每帧所述物理白板图像的底色,获得每帧所述物理白板图像中每个点的初始像素;
[0044]
所述第二像素单元,用于根据预设的像素激活函数,分别对每帧所述物理白板图像中每个点的初始像素进行颜色增强。
[0045]
作为上述方案的改进,所述融合模块,包括:运动图单元和色差图单元;
[0046]
所述运动图单元,用于将每帧增强图像缩小至原图大小的四分之一,直接对缩小后的当前帧虚拟白板的增强图像与缩小后的上一帧虚拟白板的增强图像做差后加权相加,得到绝对值。当像素运动变化大于运动阈值时,运动图对应位置的值+1,否则清零,公式为:
[0047][0048]
其中,c
small
(x)示缩小后的当前帧虚拟白板的增强图像的yuv向量,p
small
(x)表缩小后的上一帧虚拟白板的增强图像的yuv向量,w
yuv
表示yuv分量的权重,d
thresh
表示运动阈值;
[0049]
所述色差图单元,用于对缩小后的当前帧虚拟白板的增强图像,和缩小后的第一帧虚拟白板的底色图像做差后加权相加,得到绝对值,当色度变化大于色差阈值时,色差图对应位置的值为0,否则为1,公式为:
[0050][0051]
其中,c
small
(x)表示缩小后的当前帧虚拟白板的增强图像的yuv向量,和w
small
(x)表示缩小后的第一帧虚拟白板的底色图像的yuv向量,w

yuv
表示yuv分量的权重,h
thresh
表示色差阈值。
[0052]
作为上述方案的改进,所述透视模块,包括:全透视单元和半透视单元;
[0053]
所述全透视单元,用于根据当前帧物理白板图像的前景掩膜、当前帧物理白板图像的增强图像、以及上一帧物理白板图像的全透视图像,结合预设的系数,进行图像融合,从而获得当前帧物理白板的全透视图像,公式为:
[0054][0055]
其中,b(x)为当前帧物理白板的全透视图像,a(x)为前一帧物理白板的全透视图像,c(x)为当前帧物理白板图像的增强图像,m(x)为当前帧物理白板图像的前景掩膜;
[0056]
所述半透视单元,用于根据当前帧物理白板的全透视图像和当前帧物理白板图像的增强图像,结合预设的系数进行二次图像融合,从而获得当前帧物理白板图像的半透视图像,公式为:
[0057][0058]
其中,b(x)为当前帧物理白板的全透视图像,c(x)为当前帧物理白板图像的增强图像,r(x)为当前帧物理白板的半透视图像。
[0059]
相应的,本发明还提供了一种虚拟白板的生成装置,包括:边缘点提取模块、直线提取模块、组合模块、变换模块和物理白板透视模块;
[0060]
所述边缘点提取模块,用于获取第一帧物理白板图像,提取所述第一帧物理白板
图像的边缘点集合;
[0061]
所述直线提取模块,用于根据预设的霍夫曼直线检测算法,将所述边缘点集合映射为第一直线集合,并计算所述第一直线集合中每条直线的交点重叠次数,获得所述第一帧物理白板图像的有效直线集合;其中,所述有效直线集合中直线的交点重叠次数大于过滤阈值;
[0062]
所述组合模块,用于根据所述第一帧物理白板图像的有效直线集合,组合获得所述第一帧物理白板图像的白板区域;
[0063]
所述变换模块,用于对所述白板区域进行单应性变换处理,获得所述第一帧物理白板图像的虚拟白板;
[0064]
所述物理白板透视模块,用于根据所述第一帧物理白板的虚拟白板,可用于确定其它帧的物理白板的虚拟白板,从而应用如本发明所述的物理白板的透视方法,对所有帧的物理白板图像的虚拟白板进行白板的透视。
[0065]
作为上述方案的改进,所述直线提取模块,包括:第一映射单元、重叠单元和第二映射单元;
[0066]
所述第一映射单元,用于构建霍夫曼空间,将所述边缘点集合n映射为多段直线n
h1
、n
h2


、n
hn
,每条直线的函数表达式为:其中,θ∈[0
°
,360
°
],从而获得所述第一帧物理白板图像的第一直线集合;
[0067]
所述重叠单元,用于根据预设的重叠分辨率值,计算所述第一直线集合的交点坐标,并获取每个交点的重叠次数;
[0068]
所述第二映射单元,用于在所述第一帧物理白板图像中,将有效交点在欧拉空间中映射为有效直线,从而获得所述有效直线集合;其中,所述有效交点为重叠次数大于重叠阈值的交点。
[0069]
作为上述方案的改进,在所述组合获得所述第一帧物理白板图像的白板区域之前,还包括:根据所述有效直线集合中的重叠直线的重叠次数,通过预设的过滤算法,过滤所述有效直线集合中的重叠次数小、角度不对的直线,获得所述第一帧物理白板图像的白板直线集合。
[0070]
作为上述方案的改进,所述组合模块,包括:第一组合单元和第二组合单元;
[0071]
所述第一组合单元,用于根据所述白板直线集合,组合获得所述第一帧物理白板图像的有效四边形集合;其中,所述有效四边形为面积大于预设面积数值的四边形;
[0072]
所述第一组合单元,用于统计所述有效四边形集合中四边形的重叠次数,选择重叠次数最高的四边形代表的区域作为所述第一帧物理白板图像的白板区域。
[0073]
作为上述方案的改进,所述变换模块,包括:第一处理单元和第二处理单元;
[0074]
所述第一处理单元,用于计算所述白板区域的四个角点,并根据相机模型和摄像头焦距计算获得所述白板区域的四个坐标点;
[0075]
所述第二处理单元,用于根据所述白板区域的四个角点与所述白板区域的四个坐标点,结合内存优化和汇编优化,在yuv空间内进行高性能的单应性变换,从而获得每帧所述物理白板图像的虚拟白板。
[0076]
相应的,本发明还提供了一种计算机终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序
时实现如本发明所述的一种物理白板的透视方法及虚拟白板的生成方法。
[0077]
相应的,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如本发明所述的一种物理白板的透视方法及虚拟白板的生成方法。
附图说明
[0078]
图1是本发明一实施例提供的物理白板的透视方法的流程示意图;
[0079]
图2是本发明一实施例提供的物理白板的透视装置的结构示意图;
[0080]
图3是本发明一实施例提供的虚拟白板的生成方法的流程示意图;
[0081]
图4是本发明一实施例提供的虚拟白板的生成装置的结构示意图;
[0082]
图5是本发明另一实施例提供的虚拟白板的生成方法的流程示意图;
[0083]
图6是本发明一实施例提供的白板底色提取的流程示意图;
[0084]
图7是本发明一实施例提供的一种终端设备结构示意图。
具体实施方式
[0085]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0086]
实施例一
[0087]
参见图1,图1是本发明一实施例提供的一种物理白板的透视方法的流程示意图,如图1所示,本实施例包括步骤101至步骤104,各步骤具体如下:
[0088]
步骤101:获取多帧物理白板图像的虚拟图像,对每帧所述物理白板图像的虚拟白板进行预设的颜色增强处理后,获得每帧所述物理白板图像的增强图像。
[0089]
作为上述方案的改进,所述获取多帧物理白板图像的虚拟图像,对每帧所述物理白板图像的虚拟白板进行预设的颜色增强处理后,获得每帧所述物理白板图像的增强图像,具体为:根据每帧所述物理白板图像的虚拟白板,提取每帧所述物理白板图像的底色,获得每帧所述物理白板图像中每个点的初始像素;根据预设的像素激活函数,分别对每帧所述物理白板图像中每个点的初始像素进行颜色增强。
[0090]
作为上述方案的改进,可以通过对每帧物理白板图像的虚拟白板进行白板底色的提取,并获取虚拟白板对应的像素分布,对获取到的像素分布进行均值滤波,得到每个点的初始像素。
[0091]
作为上述方案的改进,预设的像素激活函数原则上是保证白板颜色纯净的同时,增加颜色的对比度,公式如下:
[0092][0093]
其中a,b,c为可调节系数,thresh为自适应阈值,和白板底色成线性关系。考虑到白板可能因光照原因导致颜色不均,如果thresh固定,则白板暗区域可能会变暗,不能达到颜色增强效果。因此在上一步中预先获取白板底色,获取每块区域的图像阈值。对白板上的
不同像素,施加不同的激活函数,达到统一颜色增强的目的。考虑到激活函数的计算复杂度较高,因此预先存储阈值,并且计算任意p
ori

p
new
的像素映射,以方便后续以查表的方式进行颜色增强。
[0094]
步骤102:在每帧所述物理白板图像的增强图像中,根据当前帧虚拟白板的增强图像、上一帧虚拟白板的增强图像与第一帧虚拟白板的底色图像,结合预设的加权算法,分别获得每帧所述物理白板图像的运动图和每帧所述物理白板图像的色差图;其中,所述第一帧虚拟白板的底色图像根据预设的算法提取第一帧所述物理白板的虚拟白板的底色图像。
[0095]
在本实施例中,步骤102具体为:将每帧增强图像缩小至原图大小的四分之一,直接对缩小后的当前帧虚拟白板的增强图像与缩小后的上一帧虚拟白板的增强图像做差后加权相加,得到绝对值。当像素运动变化大于运动阈值时,运动图对应位置的值+1,否则清零,公式为:
[0096][0097]
其中,c
small
(x)示缩小后的当前帧虚拟白板的增强图像的yuv向量,p
small
(x)表缩小后的上一帧虚拟白板的增强图像的yuv向量,w
yuv
表示yuv分量的权重,d
thresh
表示运动阈值;
[0098]
对缩小后的当前帧虚拟白板的增强图像,和缩小后的第一帧虚拟白板的底色图像做差后加权相加,得到绝对值,当色度变化大于色差阈值时,色差图对应位置的值为0,否则为1,公式为:
[0099][0100]
其中,c
small
(x)表示缩小后的当前帧虚拟白板的增强图像的yuv向量,和w
small
(x)表示缩小后的第一帧虚拟白板的底色图像的yuv向量,w

yuv
表示yuv分量的权重,h
thresh
表示色差阈值。
[0101]
作为上述方案的改进,所述第一帧虚拟白板的底色图像,具体为:根据每帧所述物理白板图像的虚拟白板,对第一帧所述物理白板图像的虚拟白板的y分量做预设尺寸的滑窗分块,获得多个区块;对所述多个区块进行最大堆排序,提取排序位于预设范围的区块对应的y分量值的均值,获得所述第一帧虚拟白板的底色图像。为更好地说明本改进方案,提供以下例子进行说明:记虚拟白板的分辨率为1080p,对虚拟白板的y分量做步长为1的滑窗分块,滑窗大小为16
×
16。滑窗后虚拟白板的y分量会被划分成1920x1080个区块,每个区块包含16
×
16个像素,对每个区块做最大堆排序,提取前10%大的y值,取均值,将取均值后的结果作为白板底色;图6为白板底色的提取示意图,将原图进行滑窗分块,并求局部最大,最后取平均值。
[0102]
步骤103:根据所述运动图和所述色差图,通过使用中值滤波和膨胀算法,生成每帧所述物理白板图像的前景掩膜。
[0103]
在本实施例中,步骤103具体为:结合色差图和运动图,同时满足运动图大于阈值,且色差图为1的位置,1/4分辨率的小前景掩膜对应位置值为1,否则为0。使用中值滤波和膨胀算法处理生成的小前景掩膜m
small
,再使用最近邻缩放至原图大小m,公式为:
[0104][0105]
m=resize(dilate(m
small
))
[0106]
步骤104:根据当前帧物理白板图像的前景掩膜、当前帧物理白板图像的增强图像、以及上一帧物理白板图像的全透视图像,用预设的系数加权融合,获得当前帧物理白板图像的半透视图像;
[0107]
作为上述方案的改进,所述根据当前帧物理白板图像的前景掩膜、当前帧物理白板图像的增强图像、以及上一帧物理白板图像的全透视图像,用预设的系数加权融合,获得当前帧物理白板图像的半透视图像,具体为:根据当前帧物理白板图像的前景掩膜、当前帧物理白板图像的增强图像、以及上一帧物理白板图像的全透视图像,结合预设的系数,进行图像融合,从而获得当前帧物理白板的全透视图像,公式为:
[0108][0109]
其中,b(x)为当前帧物理白板的全透视图像,a(x)为前一帧物理白板的全透视图像,c(x)为当前帧物理白板图像的增强图像,m(x)为当前帧物理白板图像的前景掩膜;根据当前帧物理白板的全透视图像和当前帧物理白板图像的增强图像,结合预设的系数进行二次图像融合,从而获得当前帧物理白板图像的半透视图像,公式为:
[0110][0111]
其中,b(x)为当前帧物理白板的全透视图像,c(x)为当前帧物理白板图像的增强图像,r(x)为当前帧物理白板的半透视图像。
[0112]
本实施例通过对图像的格式处理以及颜色增强的阈值存储处理,不仅提高了本发明的准确度,同时降低了流程上的计算量,以便于提高发明的运行效率。以使用户在使用本发明时有更好的体验感。通过虚拟白板的生成方法和物理白板的透视方法,降低了白板误检率的同时,提高了透视的性能。
[0113]
参见图3,图3是本发明一实施例提供的一种虚拟白板的生成方法的流程示意图,如图3所示,本实施例包括步骤201至步骤205,各步骤具体如下:
[0114]
步骤301:获取第一帧物理白板图像,提取所述第一帧物理白板图像的边缘点集合。
[0115]
作为上述方案的改进,所述获取多帧物理白板图像,提取每帧所述物理白板图像的边缘点集合,具体为:根据摄像头采集到多帧物理白板原始图像后,对所述多帧物理白板原始图像进行格式设置,获得所述多帧物理白板图像;分别提取每帧所述物理白板图像的y分量作为灰度图,进行高斯去噪处理,根据sobel算子,分别提取各所述y分量x、y方向的梯度;分别对各所述x、y方向的梯度进行加权融合、阈值判断,并将获得的结果进行二值化处理,获得每帧所述物理白板图像的边缘点集合。需要说明的是,将获得的结果进行二值化处理后作为图像的边缘特征,0代表不是边界,1代表是边界。
[0116]
作为上述方案的改进,将摄像头采集到的图像的格式设置为yuvi420格式,以降低
算法处理的复杂度。
[0117]
步骤302:根据预设的霍夫曼直线检测算法,将所述边缘点集合映射为第一直线集合,并计算所述第一直线集合中每条直线的交点重叠次数,获得所述第一帧物理白板图像的有效直线集合;其中,所述有效直线集合中直线的交点重叠次数大于过滤阈值。
[0118]
作为上述方案的改进,所述根据预设的霍夫曼直线检测算法,将所述边缘点集合映射为第一直线集合,并计算所述第一直线集合中每条直线的交点重叠次数,获得所述第一帧物理白板图像的有效直线集合,具体为:构建霍夫曼空间,将所述边缘点集合n映射为多段直线n
h1
、n
h2


、n
hn
,每条直线的函数表达式为:其中,θ∈[0
°
,360
°
],从而获得所述第一帧物理白板图像的第一直线集合;根据预设的重叠分辨率值,计算所述第一直线集合的交点坐标,并获取每个交点的重叠次数;在所述第一帧物理白板图像中,将有效交点在欧拉空间中映射为有效直线,从而获得所述有效直线集合;其中,所述有效交点为重叠次数大于重叠阈值的交点。需要说明的是,空间中过某个点的所有直线的集合在霍夫曼空间中体现为一条直线。
[0119]
作为上述方案的改进,预设的重叠分辨率值可以设置为3像素,即在3
×
3范围内的交点坐标被认为是同一个交点。
[0120]
步骤303:根据所述第一帧物理白板图像的有效直线集合,组合获得所述第一帧物理白板图像的白板区域;
[0121]
作为上述方案的改进,在所述组合获得所述第一帧物理白板图像的白板区域之前,还包括:根据所述有效直线集合中的重叠直线的重叠次数,通过预设的过滤算法,过滤所述有效直线集合中的重叠次数小、角度不对的直线,获得所述第一帧物理白板图像的白板直线集合。
[0122]
作为上述方案的改进,预设的过滤算法可以为基于角度和直线距离的非极大值抑制算法过滤被覆盖直线,直线重合度公式如下:
[0123][0124]
其中α和β为加权系数;过滤被覆盖直线后,做角度判断,保证白板的右边界:上边界以此类推,其中,thresh
l
为自适应阈值。
[0125]
作为上述方案的改进,所述组合获得所述第一帧物理白板图像的白板区域,具体为:根据所述白板直线集合,组合获得所述第一帧物理白板图像的有效四边形集合;其中,所述有效四边形为面积大于预设面积数值的四边形;统计所述有效四边形集合中四边形的重叠次数,选择重叠次数最高的四边形代表的区域作为所述第一帧物理白板图像的白板区域。为更好的说明:遍历白板直线集合中的有效直线,组成(n为有效直线)个四边形m,过滤面积低于threshm的四边形,统计所有有效四边形的重叠次数选择重叠次数最高的区域为白板区域。
[0126]
步骤304:对所述白板区域进行单应性变换处理,获得所述第一帧物理白板图像的虚拟白板。
[0127]
作为上述方案的改进,所述对所述白板区域进行单应性变换处理,获得所述第一
帧物理白板图像的虚拟白板,具体为:计算所述白板区域的四个角点,并根据相机模型和摄像头焦距计算获得所述白板区域的四个坐标点;根据所述白板区域的四个角点与所述白板区域的四个坐标点,结合内存优化和汇编优化,在yuv空间内进行高性能的单应性变换,从而获得每帧所述物理白板图像的虚拟白板。
[0128]
步骤305:根据所述第一帧物理白板的虚拟白板,可用于确定其它帧的物理白板的虚拟白板,从而应用如本发明所述的物理白板的透视方法,对所有帧的物理白板图像的虚拟白板进行白板的透视;当确定第一帧物理白板的虚拟白板后,相机位置不动,其它帧的物理白板图像可直接采用第一帧物理白板的虚拟白板的参数,生成其它帧物理白板图像的虚拟白板,不需要对每一帧的物理白板进行虚拟白板的获取和输出。
[0129]
请参见图5,图5为本发明另一实施例提供的虚拟白板的生成方法的流程示意图。
[0130]
实施例二
[0131]
参见图2,图2是本发明一实施例提供的一种虚拟白板的生成装置的结构示意图,包括:图像增强模块201、融合模块202、前景掩膜模块203和透视模块204;
[0132]
所述图像增强模块201,用于获取多帧物理白板图像的虚拟图像,对每帧所述物理白板图像的虚拟白板进行预设的颜色增强处理后,获得每帧所述物理白板图像的增强图像;
[0133]
所述融合模块202,用于在每帧所述物理白板图像的增强图像中,根据当前帧虚拟白板的增强图像与上一帧虚拟白板的增强图像,结合预设的加权算法,获得每帧所述物理白板图像的运动图;根据当前帧所述虚拟白板图像的增强图像与第一帧虚拟白板的底色图像,结合预设的加权算法,获得每帧所述物理白板图像的色差图;其中,所述第一帧虚拟白板的底色图像根据预设的算法提取第一帧所述物理白板的虚拟白板的底色图像;
[0134]
所述前景掩膜模块203,用于根据所述运动图和所述色差图,根据使用中值滤波和膨胀算法,生成每帧所述物理白板图像的前景掩膜;
[0135]
所述透视模块204,用于根据当前帧物理白板图像的前景掩膜、当前帧物理白板图像的增强图像、以及上一帧物理白板图像的全透视图像,用预设的系数加权融合,获得当前帧物理白板图像的半透视图像。
[0136]
作为上述方案的改进,所述第一帧虚拟白板的底色图像,具体为:根据每帧所述物理白板图像的虚拟白板,对第一帧所述物理白板图像的虚拟白板的y分量做预设尺寸的滑窗分块,获得多个区块;对所述多个区块进行最大堆排序,提取排序位于预设范围的区块对应的y分量值的均值,获得所述第一帧虚拟白板的底色图像。
[0137]
作为上述方案的改进,所述图像增强模块201,包括:第一像素单元和第二像素单元;
[0138]
所述第一像素单元,用于根据每帧所述物理白板图像的虚拟白板,提取每帧所述物理白板图像的底色,获得每帧所述物理白板图像中每个点的初始像素;
[0139]
所述第二像素单元,用于根据预设的像素激活函数,分别对每帧所述物理白板图像中每个点的初始像素进行颜色增强。
[0140]
作为上述方案的改进,所述融合模块202,包括:运动图单元和色差图单元;
[0141]
所述运动图单元,用于将每帧增强图像缩小至原图大小的四分之一,直接对缩小后的当前帧虚拟白板的增强图像与缩小后的上一帧虚拟白板的增强图像做差后加权相加,
得到绝对值。当像素运动变化大于运动阈值时,运动图对应位置的值+1,否则清零,公式为:
[0142][0143]
其中,c
small
(x)示缩小后的当前帧虚拟白板的增强图像的yuv向量,p
small
(x)表缩小后的上一帧虚拟白板的增强图像的yuv向量,w
yuv
表示yuv分量的权重,d
thresh
表示运动阈值;
[0144]
所述色差图单元,用于对缩小后的当前帧虚拟白板的增强图像,和缩小后的第一帧虚拟白板的底色图像做差后加权相加,得到绝对值,当色度变化大于色差阈值时,色差图对应位置的值为0,否则为1,公式为:
[0145][0146]
其中,c
small
(x)表示缩小后的当前帧虚拟白板的增强图像的yuv向量,和w
small
(x)表示缩小后的第一帧虚拟白板的底色图像的yuv向量,w

yuv
表示yuv分量的权重,h
thresh
表示色差阈值。
[0147]
作为上述方案的改进,所述透视模块204,包括:全透视单元和半透视单元;
[0148]
所述全透视单元,用于根据当前帧物理白板图像的前景掩膜、当前帧物理白板图像的增强图像、以及上一帧物理白板图像的全透视图像,结合预设的系数,进行图像融合,从而获得当前帧物理白板的全透视图像,公式为:
[0149][0150]
其中,b(x)为当前帧物理白板的全透视图像,a(x)为前一帧物理白板的全透视图像,c(x)为当前帧物理白板图像的增强图像,m(x)为当前帧物理白板图像的前景掩膜;
[0151]
所述半透视单元,用于根据当前帧物理白板的全透视图像和当前帧物理白板图像的增强图像,结合预设的系数进行二次图像融合,从而获得当前帧物理白板图像的半透视图像,公式为:
[0152][0153]
其中,b(x)为当前帧物理白板的全透视图像,c(x)为当前帧物理白板图像的增强图像,r(x)为当前帧物理白板的半透视图像。
[0154]
参见图4,图4是本发明一实施例提供的一种物理白板的透视装置,包括:边缘点提取模块401、直线提取模块402、组合模块403、变换模块404和物理白板透视模块405;
[0155]
所述边缘点提取模块401,用于获取第一帧物理白板图像,提取所述第一帧物理白板图像的边缘点集合;
[0156]
所述直线提取模块402,用于根据预设的霍夫曼直线检测算法,将所述边缘点集合映射为第一直线集合,并计算所述第一直线集合中每条直线的交点重叠次数,获得所述第一帧物理白板图像的有效直线集合;其中,所述有效直线集合中直线的交点重叠次数大于过滤阈值;
[0157]
所述组合模块403,用于根据所述第一帧物理白板图像的有效直线集合,组合获得所述第一帧物理白板图像的白板区域;
[0158]
所述变换模块404,用于对所述白板区域进行单应性变换处理,获得所述第一帧物理白板图像的虚拟白板;
[0159]
所述物理白板透视模块405,用于根据所述第一帧物理白板的虚拟白板,可用于确定其它帧的物理白板的虚拟白板,从而应用如本发明所述的物理白板的透视方法,对所有帧的物理白板图像的虚拟白板进行白板的透视。
[0160]
作为上述方案的改进,所述直线提取模块402,包括:第一映射单元、重叠单元和第二映射单元;
[0161]
所述第一映射单元,用于构建霍夫曼空间,将所述边缘点集合n映射为多段直线n
h1
、n
h2


、n
hn
,每条直线的函数表达式为:其中,θ∈[0
°
,360
°
],从而获得所述第一帧物理白板图像的第一直线集合;
[0162]
所述重叠单元,用于根据预设的重叠分辨率值,计算所述第一直线集合的交点坐标,并获取每个交点的重叠次数;
[0163]
所述第二映射单元,用于在所述第一帧物理白板图像中,将有效交点在欧拉空间中映射为有效直线,从而获得所述有效直线集合;其中,所述有效交点为重叠次数大于重叠阈值的交点。
[0164]
作为上述方案的改进,在所述组合获得所述第一帧物理白板图像的白板区域之前,还包括:根据所述有效直线集合中的重叠直线的重叠次数,通过预设的过滤算法,过滤所述有效直线集合中的重叠次数小、角度不对的直线,获得所述第一帧物理白板图像的白板直线集合。
[0165]
作为上述方案的改进,所述组合模块403,包括:第一组合单元和第二组合单元;
[0166]
所述第一组合单元,用于根据所述白板直线集合,组合获得所述第一帧物理白板图像的有效四边形集合;其中,所述有效四边形为面积大于预设面积数值的四边形;
[0167]
所述第一组合单元,用于统计所述有效四边形集合中四边形的重叠次数,选择重叠次数最高的四边形代表的区域作为所述第一帧物理白板图像的白板区域。
[0168]
作为上述方案的改进,所述变换模块404,包括:第一处理单元和第二处理单元;
[0169]
所述第一处理单元,用于计算所述白板区域的四个角点,并根据相机模型和摄像头焦距计算获得所述白板区域的四个坐标点;
[0170]
所述第二处理单元,用于根据所述白板区域的四个角点与所述白板区域的四个坐标点,结合内存优化和汇编优化,在yuv空间内进行高性能的单应性变换,从而获得每帧所述物理白板图像的虚拟白板。
[0171]
本实施例中的虚拟白板生成装置通过边缘点提取模块提取到边缘点集合后,输入到直线提取模块中进行直线映射,然后通过组合模块将所有直线组合成白板区域,最后通过变换模块转换为虚拟白板,提高了提取虚拟白板的准确率。物理白板透视装置通过虚拟白板提取模块获得所有物理白板图像的虚拟白板后,利用图像增强模块对所有虚拟白板进行增强后,通过融合模块将第一帧物理白板图像所提取的底色图像、当前帧的虚拟白板和上一帧的虚拟白板融合计算色差图和运动图,通过前景掩膜模块结合色差图和运动图生成前景掩膜,最后通过透视模块实现白板平滑的透视效果。本实施例结合虚拟白板生成装置
和物理白板透视装置降低了白板检测的误检率,实现了美观的透视功能。
[0172]
实施例三
[0173]
参见图7,图7是本发明一实施例提供的终端设备结构示意图。
[0174]
该实施例的一种终端设备包括:处理器701、存储器702以及存储在所述存储器702中并可在所述处理器701上运行的计算机程序。所述处理器701执行所述计算机程序时实现上述各个虚拟白板的生成方法及物理白板的透视方法在实施例中的步骤,例如图1所示的物理白板的透视方法的所有步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块的功能,例如:图2所示的物理白板的透视装置的所有模块。
[0175]
另外,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上任一实施例所述的虚拟白板的生成方法及物理白板的透视方法。
[0176]
本领域技术人员可以理解,所述示意图仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
[0177]
所称处理器701可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器701是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
[0178]
所述存储器702可用于存储所述计算机程序和/或模块,所述处理器701通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器702内的数据,实现所述终端设备的各种功能。所述存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0179]
其中,所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。
[0180]
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0181]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1