教学视频生成方法、装置、存储介质和计算机设备
技术领域
本发明涉及视频教学技术领域,特别是涉及一种教学视频生成方法、装置、存储介质和计算机设备。
背景技术
随着互联网技术的飞速发展,通过视频进行授课教学已逐渐成为流行的趋势,越来越多的教育机构及教学网站开始提供视频教学课程。视频教学课程通常指的是通过技术手段对教师上课的板书内容如教学笔记、图片教具等进行记录,并通过一定的方式制成视频文件。
传统技术中,生成教学视频一般是通过摄像头、摄像机采集画面,然后直接对采集的画面采用不同的视频编码方式进行压制,然而这种方式得到的视频文件过大,存储时容易造成计算机内存资源的浪费。
发明内容
基于此,有必要针对上述技术问题,提供一种教学视频生成方法、装置、存储介质和计算机设备,以在存储教学视频时节约计算机的内存资源。
一种教学视频生成方法,所述方法包括:
获取预设时间段内摄像头采集的连续多帧板面图像;
当当前帧板面图像中存在目标区域时,将所述目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换;
获取下一帧板面图像作为当前帧板面图像并进入当检测到当前帧板面图像存在目标区域时,将所述目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤直至当前帧板面图像为末尾帧板面图像;
将所述连续多帧板面图像编码生成视频。
在其中一个实施例中,所述获取预设时间段内摄像头采集的连续多帧板面图像的步骤之后包括:
调用预设的边界扩展函数对所述连续多帧板面图像进行边界扩展。在其中一个实施例中,所述当当前帧板面图像存在目标区域时,将所述目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤之前包括:
获取预设数目帧标定图像;
根据所述预设数目帧标定图像对摄像头进行标定并获取摄像头的标定参数;
根据标定参数对所述连续多帧板面图像进行畸变校正。
在其中一个实施例中,所述当当前帧板面图像存在目标区域时,将所述目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤之前还包括:
获取所述连续多帧板面图像对应的第一角点;
获取目标矩形图像对应的第二角点;
根据所述第一角点和第二角点获取透视变换矩阵;
根据所述透视变换矩阵将所述连续多帧板面图像矫正为目标矩形图像。
在其中一个实施例中,所述当当前帧板面图像存在目标区域时,将所述目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤之前包括:
对当前帧板面图像进行运动检测,获取当前帧图像中的多个变化子区域;
将所述多个变化子区域通过连通区域分析算法生成变化区域;
判断所述变化区域是否远离当前帧板面图像的边缘,若否,则判定当前帧板面图像中存在目标区域。
一种教学视频生成装置,所述装置包括:
板面图像获取模块,用于获取预设时间段内摄像头采集的连续多帧板面图像;
替换模块,用于当当前帧板面图像中存在目标区域时,将所述目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换;
循环模块,用于获取下一帧板面图像作为当前帧板面图像并进入当检测到当前帧板面图像存在目标区域时,将所述目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤直至当前帧板面图像为末尾帧板面图像;
编码模块,用于将所述连续多帧板面图像编码生成视频。
在其中一个实施例中,所述装置还包括:
标定图像获取模块,用于获取预设数目帧标定图像;
标定参数获取模块,用于根据所述预设数目帧标定图像对摄像头进行标定并获取摄像头的标定参数;
畸变矫正模块,用于根据标定参数对所述连续多帧板面图像进行畸变校正。
在其中一个实施例中,所述装置还包括:
运动检测模块,用于对当前帧板面图像进行运动检测,获取当前帧图像中的多个变化子区域;
区域连通模块,用于将所述多个变化子区域通过连通区域分析算法生成变化区域;
判断模块,用于判断所述变化区域是否远离当前帧板面图像的边缘,若否,则判定当前帧板面图像中存在目标区域。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述教学视频生成方法所述的步骤。
一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述教学视频生成方法所述的步骤。
上述教学视频生成方法、装置、存储介质和计算机设备,通过获取预设时间段内摄像头采集的连续多帧板面图像;当检测到当前帧板面图像中存在目标区域时,将所述目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换;获取下一帧板面图像作为当前帧板面图像并进入当检测到当前帧板面图像存在目标区域时,将所述目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤直至当前帧板面图像为末尾帧板面图像;将所述连续多帧板面图像编码生成教学视频。由于排除了无效异物对画面的影响,画面变化很小,编码比特率可以非常低,使得在保证画面清晰度效果的前提下,最终输出的视频文件小,从而在存储教学视频时可以节约计算机的内存资源。
附图说明
图1为一个实施例中教学视频生成方法的流程图;
图2为一个实施例中摄像头的安装场景示意图;
图3为一个实施例中畸变矫正的步骤流程图;
图4为一个实施例中梯形矫正的步骤流程图;
图5为一个实施例中判断是否存在目标区域的步骤流程图;
图6为一个实施例中教学视频生成装置的结构示意图;
图7为另一个实施例中教学视频生成装置的结构示意图;
图8为又一个实施例中教学视频生成装置的结构示意图;
图9为再一个实施例中教学视频生成装置的结构示意图;
图10为一个实施例中计算机设备的内部结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一角点称为第二角点,且类似地,可将第二角点称为第一角点。第一角点和第二角点两者都是角点,但其不是同一角点。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。
在一个实施例中,如图1所示,提供了一种教学视频生成方法,该方法包括:
步骤S110,获取预设时间段内摄像头采集的连续多帧板面图像。
具体地,预设时间段指的是本次授课教学过程所持续的时间;板面指的是教学过程中用于承载书写笔记或者教学道具的平板,包括但不限于黑板、白板等;板面图像指的是在教学过程中摄像头对板面进行抓拍得到的图像。
在一个实施例中,摄像头安装在70-90英寸的板面上方,对整个板面进行拍摄。为了能拍摄整个板面,摄像头不能过于贴近板面所在的空间平面。为了尽可能减小摄像头到白板平面的垂直距离(<80cm),摄像头采用150°及以上的广角镜头。
在一个实施例中,如图2所示,摄像头102由板面104平面外向平面内,略偏下的角度安装。
在一个实施例中,摄像头以每秒一帧或每秒两帧的频率对板面进行抓拍,使得在保留教学重点内容及细节的前提下最大限度地减少板面图像所占的计算机存储资源。
在一个实施例中,获取了连续多帧板面图像之后,还包括:调用预设的边界扩展函数对所述连续多帧板面图像进行边界扩展。
具体地,可调用OpenCV的copyMakerBoder函数对板面图像进行扩展,例如,将板面图像的左右边界各扩大36%的原宽,上下各扩大20%的原高,以避免在后续对图像进行处理时部分内容超出原板面图像的范围而导致板面图像上的内容丢失。
其中,函数copyMakerBoder的原型如下:
void copyMakeBorder(const Mat&src,Mat&dst,
int top,int bottom,int left,int right,
int borderType,const Scalar&value=Scalar());
在该函数中,首先将原始的板面图像扩大,然后调用borderInterpolate函数对扩大的边界进行处理,如将扩充的边界填充一定的颜色。
步骤S120,当当前帧板面图像中存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换。
具体地,目标区域指的是当前帧板面图像中存在异物的区域,该异物为授课过程中对板面上的板书内容起遮挡作用的物体,包括但不限于授课者的身体、手臂等。
在本实施例中,从第一帧板面图像开始,依次对每一帧板面图像进行检测,当检测到存在目标区域时,用历史帧板面图像中该目标区域的对应区域的图像数据替换该目标区域的图像数据,形成新的板面图像。其中,历史帧板面图像指的是当前帧板面图像之前的板面图像。
在一个实施例中,历史帧板面图像指的是当前帧板面图像对应的上一帧板面图像。
步骤S130,获取下一帧板面图像作为当前帧板面图像。
具体地,判断当前帧板面图像是否为末尾帧板面图像,若是,进入步骤S140,若否则获取下一帧板面图像作为当前图像,重复上述步骤S120,直至当前帧板面图像为末尾帧板面图像,此时所有板面图像中目标区域都被替换。
步骤S140,将连续多帧板面图像编码生成视频。
具体地,将处理好的每一帧板面图像输入编码器进行编码。
在一个实施例中,编码器可采用ffmpeg编码器,输入方法为将处理完毕的板面图像以mjpeg流的形式提供给ffmpeg编码器。为支持Html5标准采取的编码格式为x264。由于变化量小,编码比特率在48K-64K即可。输出格式为mp4,文件占用大小约每分钟600KB。
本实施例中,通过获取预设时间段内摄像头采集的连续多帧板面图像;当检测到当前帧板面图像中存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换;获取下一帧板面图像作为当前帧板面图像并进入当检测到当前帧板面图像存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤直至当前帧板面图像为末尾帧板面图像;将连续多帧板面图像编码生成教学视频。由于排除了无效异物对画面的影响,画面变化很小,编码比特率可以非常低,使得在保证画面清晰度效果的前提下,最终输出的视频文件小,从而在存储教学视频时可以节约计算机的内存资源。
在一个实施例中,如图3所示,当检测到当前帧板面图像存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤之前包括:
步骤S150A,获取预设数目帧标定图像。
标定图像为对opencv提供的棋盘格标定版从不同的角度采集的图像。采集标定图像时,可以在摄像头固定的情况下,不断调整标定版的位置,获取标定版不同角度的图像,也可以在标定版固定的情况下,移动摄像头的位置获取不同角度的图像。
步骤S150B,根据预设数目帧标定图像对摄像头进行标定并获取摄像头的标定参数。
具体地,首先调用OpenCV的FindChessboardCorners()提取标定图像上的标定板的角点,然后调用函数cvFindCornerSubPix对角点进行亚像素精确化,再根据标定板的尺寸指定这些角点对应的三维点的三维坐标,再调用 fisheye::calibrate()来进行标定,得到摄像头的标定参数,其中标定参数包括摄像头对应的内参、外参和畸变参数。
步骤S150C,根据标定参数对连续多帧板面图像进行畸变校正。
在本实施例中,由于采用广角镜头采集图像,得到的图像通常会发生畸变,因此要对畸变对象进行校正。具体地,在本实施例中可利用标定参数中的内参和畸变参数调用fisheye::undistortImage()对图像进行畸变矫正。
进一步,可调用一张待测试的畸变图片利用上述进行畸变校正,以对本实施例的畸变矫正效果进行验证。
在本实施例中,首先通过获取预设数目帧标定图像,通过该标定图像得到摄像机的标定参数,然后通过标定参数中的内参和畸变参数对板面图像进行畸变校正,经过畸变校正后的板面图像,其板书内容可以更加完整的保留,从而提高所生成的视频的质量。
在一个实施例中,如图4所示,当检测到当前帧板面图像存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤之前包括:
步骤S150E,获取连续多帧板面图像对应的第一角点。
具体地,由于摄像头在板面的斜上方进行图像采集,故采集的图像不可能呈现出原版面的形状,通常为梯形,为了进一步保证生成的教学视频的质量,需要对梯形的板面图像进行校正,使其恢复原板面的矩形,从而更好的呈现教学过程中的板面内容。
其中,第一角点为梯形图像对应的顶点,可以理解,梯形图像包括四个角点。在本实施例中,首先将梯形图像灰度化,得到灰度图像,然后对灰度图像进行边缘处理得到边缘图像,最后采用霍夫变换进行直线检测,求出直线的交点即为梯形图像对应的四个第一角点。
步骤S150F,获取目标矩形图像对应的第二角点。
步骤S150G,根据第一角点和第二角点获取透视变换矩阵。
步骤S150H,根据透视变换矩阵将连续多帧板面图像矫正为目标矩形图像。
具体地,目标矩形图像指的是矫正后所要得到的形状为矩形的板面图像,第二角点为目标矩形图像对应的顶点,可以理解,矩形图像也包括四个角点。其中,目标矩形图像的长和宽可以根据需要进行设定,根据目标矩形图像的长和宽可以得到四个第二角点对应的位置坐标。
进一步地,根据上述四个第一角点和四个第二角点的坐标数据调用getPerspectiveTransform函数,计算得到透视变换矩阵;然后调用warpPerspective 函数并根据上述透视变换矩阵,将输入的梯形图形转换形成目标矩形图像。
在本实施例中,通过将梯形的板面图像校正为矩形的板面图像,可以更好的呈现板面图像上的板书内容,从而提升所生成的视频的质量。
可以理解,在一个实施例中,当所使用的摄像头为广角镜头时,先根据步骤S150A-S150C的步骤对板面图像进行畸变校正,畸变矫正后得到的图像为梯形图像,此时,可再根据步骤S150E-S150H对板面图像进行梯形矫正,最终得到符合要求的矩形图像。
在一个实施例中,如图5所示,当检测到当前帧板面图像存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤之前,包括:
S160A,对当前帧板面图像进行运动检测,获取当前帧图像中的多个变化子区域。
具体地,首先将当前帧转化为二值图像,然后对二值图像进行运动检测提取变化子区域,其中变化子区域指的是当前帧图像相对于上一帧图像发生变化的区域。
在一个实施例中,可调用cv::BackgroundSubtractorMOG2函数进行运动检测。
在其他实施例中,运动检测的算法包括但不限于基于混合高斯模型(Mixture ofGaussian model)的自适应背景差分算法、自组织背景建模 (SOBS-Self-organizationbackground subtraction)算法、ViBe算法等。
步骤S160B,将多个变化子区域通过连通区域分析算法生成变化区域。
具体地,采用连通区域分析算法将多个变化子区域连通形成新的变化区域,其中,连通区域(Connected Component)一般是指图像中具有相同像素值且位置相邻的前景像素点组成的图像区域(Region,Blob)。连通区域分析(Connected Component Analysis,Connected Component Labeling)是指将图像中的各个连通区域找出并标记。
在本实施例中,连通区域分析算法包括但不限于Two-Pass法、Seed-Filling 种子填充法。
进一步,根据连通后的变化区域,调用cvFindContours得到N组矢量坐标围成的区域,对每一套矢量坐标(对应一个发生运动的区域),计算分析它每个点到板面图像边缘的距离,判断所有的距离是否全部远离板面图像边缘。
步骤S160C,判断变化区域是否远离当前帧板面图像的边缘。
步骤S160D,若否,则判定当前帧板面图像中存在目标区域。
具体地,当该变化区域内所有的点离板面图像的左右边缘的距离小于某一预设值(如小于板面图像宽度的1%),且离离板面图像的上下边缘的距离小于某一预设值(如小于板面图像高的1%)时,说明该变化区域没有远离板面图像边缘,此时,板面图像中存在遮挡板书内容的物体,如授课者的脸、手臂、头等,因为这些物体必然会从板面图像的边缘延伸出来,不可能浮于板面图像中间,将这些遮挡物所对应的区域为目标区域。
反之,当该变化 区域离板面图像的任意一个边缘的距离大于上述预设值,则说明该变化区域远离板面图像边缘,判定该变化区域为有益物体,例如板擦、磁吸、张贴画等教具。
在本实施例中,通过判断目标区域是否远离板面图像的边缘区域来判断板面图像中是否存在遮挡板面的物体,可以准确快速地判断出是否存在目标区域,提高了生成教学视频过程中对板面图像进行处理的效率。
在一个实施例中,如图6所示,还提供了一种教学视频生成装置,该装置包括:
板面图像获取模块510,用于获取预设时间段内摄像头采集的连续多帧板面图像;
替换模块520,用于当当前帧板面图像中存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换;
循环模块530,用于获取下一帧板面图像作为当前帧板面图像并进入当检测到当前帧板面图像存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤直至当前帧板面图像为末尾帧板面图像;
编码模块540,用于将连续多帧板面图像编码生成视频。
在一个实施例中,该装置还包括:
边界扩展模块,用于调用预设的边界扩展函数对连续多帧板面图像进行边界扩展。
在一个实施例中,如图7所示,该装置还包括:
标定图像获取模块550A,用于获取预设数目帧标定图像;
标定参数获取模块550B,用于根据预设数目帧标定图像对摄像头进行标定并获取摄像头的标定参数;
畸变矫正模块550C,用于根据标定参数对连续多帧板面图像进行畸变校正。
在一个实施例中,如图8所示,该装置还包括:
第一角点获取模块560A,用于获取连续多帧板面图像对应的第一角点;
第二角点获取模块560B,用于获取目标矩形图像对应的第二角点;
透视变换矩阵获取模块560C,用于根据第一角点和第二角点获取透视变换矩阵;
矫正模块560D,用于根据透视变换矩阵将连续多帧板面图像矫正为目标矩形图像。
在一个实施例中,如图9所示,上述装置还包括:
运动检测模块570A,用于对当前帧板面图像进行运动检测,获取当前帧图像中的多个变化子区域;
区域连通模块570B,用于将多个变化子区域通过连通区域分析算法生成变化区域;
判断模块570C,用于判断变化区域是否远离当前帧板面图像的边缘,若否,则判定当前帧板面图像中存在目标区域。
如图10所示,为一个实施例中计算机设备的内部结构图,该计算机设备通过系统连接总线连接处理器、非易失性存储介质、内存储器和网络接口。其中,该计算机设备的非易失性存储介质可存储操作系统和计算机程序,该计算机程序被执行时,可使得处理器执行一种教学视频生成方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种教学视频生成方法。计算机设备的网络接口用于进行网络通信,如接收语音数据包,发送停止控制指令等。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的教学视频生成装置可以实现为一种计算机程序的形式,计算机程序可在如图10所示的计算机设备上运行,计算机设备的非易失性存储介质可存储组成该教学视频生成装置的各个程序模块,比如图5 中的板面图像获取模块510、替换模块520、循环模块和编码模块540。各个程序模块中包括计算机程序,该计算机程序用于使计算机设备执行本说明书中描述的本申请各个实施例的教学视频生成方法中的步骤,例如,计算机设备可以通过如图5所示的教学视频生成装置中的板面图像获取模块510获取预设时间段内摄像头采集的连续多帧板面图像;通过替换模块520在当前帧板面图像中存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换;通过循环模块530获取下一帧板面图像作为当前帧板面图像并进入当检测到当前帧板面图像存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤直至当前帧板面图像为末尾帧板面图像;通过编码模块540将连续多帧板面图像编码生成视频。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:获取预设时间段内摄像头采集的连续多帧板面图像;当当前帧板面图像中存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换;获取下一帧板面图像作为当前帧板面图像并进入当检测到当前帧板面图像存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤直至当前帧板面图像为末尾帧板面图像;将连续多帧板面图像编码生成视频。
在一个实施例中,计算机程序被处理器执行时,使得处理器执行获取预设时间段内摄像头采集的连续多帧板面图像的步骤之后还执行:调用预设的边界扩展函数对连续多帧板面图像进行边界扩展。
在一个实施例中,计算机程序被处理器执行时,使得处理器执行当当前帧板面图像存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤之前还执行:获取预设数目帧标定图像;根据预设数目帧标定图像对摄像头进行标定并获取摄像头的标定参数;根据标定参数对连续多帧板面图像进行畸变校正。
在一个实施例中,计算机程序被处理器执行时,使得处理器执行当当前帧板面图像存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤之前还执行:获取连续多帧板面图像对应的第一角点;获取目标矩形图像对应的第二角点;根据第一角点和第二角点获取透视变换矩阵;根据透视变换矩阵将连续多帧板面图像矫正为目标矩形图像。
在一个实施例中,计算机程序被处理器执行时,使得处理器执行当当前帧板面图像存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤之前还执行:对当前帧板面图像进行运动检测,获取当前帧图像中的多个变化子区域;将多个变化子区域通过连通区域分析算法生成变化区域;判断变化区域是否远离当前帧板面图像的边缘,若否,则判定当前帧板面图像中存在目标区域。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:获取预设时间段内摄像头采集的连续多帧板面图像;当当前帧板面图像中存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换;获取下一帧板面图像作为当前帧板面图像并进入当检测到当前帧板面图像存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤直至当前帧板面图像为末尾帧板面图像;将连续多帧板面图像编码生成视频。
在一个实施例中,计算机程序被处理器执行时,使得处理器执行获取预设时间段内摄像头采集的连续多帧板面图像的步骤之后还执行:调用预设的边界扩展函数对连续多帧板面图像进行边界扩展。
在一个实施例中,计算机程序被处理器执行时,使得处理器执行当当前帧板面图像存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤之前还执行:获取预设数目帧标定图像;根据预设数目帧标定图像对摄像头进行标定并获取摄像头的标定参数;根据标定参数对连续多帧板面图像进行畸变校正。
在一个实施例中,计算机程序被处理器执行时,使得处理器执行当当前帧板面图像存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤之前还执行:获取连续多帧板面图像对应的第一角点;获取目标矩形图像对应的第二角点;根据第一角点和第二角点获取透视变换矩阵;根据透视变换矩阵将连续多帧板面图像矫正为目标矩形图像。
在一个实施例中,计算机程序被处理器执行时,使得处理器执行当当前帧板面图像存在目标区域时,将目标区域对应的图像数据用历史帧板面图像中对应区域的图像数据替换的步骤之前还执行:对当前帧板面图像进行运动检测,获取当前帧图像中的多个变化子区域;将多个变化子区域通过连通区域分析算法生成变化区域;判断变化区域是否远离当前帧板面图像的边缘,若否,则判定当前帧板面图像中存在目标区域。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。