本发明实施例涉及图像处理技术领域,尤其涉及一种视频封面的确定方法、装置、设备及存储介质。
背景技术:
视频在页面中展示时,通常以一张封面来进行显示,且选择的封面要尽量的信息丰富。
现有技术中,是在视频中随机选择一帧以作为封面,这样选出来的封面,有可能画面模糊、或者色调单一、或者亮度很低。质量较低的封面可能会影响用户对该视频的兴趣度,所以,选择质量高的视频帧作为显得尤为重要。
技术实现要素:
本发明实施例提供一种视频封面的确定方法、装置、设备及存储介质,可以提高视频封面的质量。
第一方面,本发明实施例提供了一种视频封面的确定方法,该方法包括:
对目标视频进行解码,获得多张视频帧;
对所述多张视频帧分别进行亮度检测、色彩丰富度检测以及图像锐度检测;
将至少满足如下条件之一的视频帧确定为所述目标视频的封面,条件包括:亮度检测结果符合亮度检测标准、色彩丰富度检测结果符合色彩丰富度检测标准和图像锐度检测结果符合图像锐度检测标准。
进一步地,对所述多张视频帧分别进行亮度检测,包括:
针对每张视频帧,获取当前视频帧设定中心区域图像的图像亮度均值;
判断所述图像亮度均值是否落在设定亮度范围;
相应的,判断亮度检测结果符合亮度检测标准,包括:
若所述图像亮度均值落在设定亮度范围,则亮度检测结果符合亮度检测标准。
进一步地,获取当前视频帧设定中心区域图像的亮度均值,包括:
对所述当前视频帧进行16等分,获得16个子区域;
分别获取处于所述当前视频帧中心区域的4个子区域的图像亮度均值;
相应的,若所述图像亮度均值落在设定亮度范围,则亮度检测结果符合亮度检测标准,包括:
若中心区域的4个子区域的图像亮度均值中的至少一个落在设定亮度范围,则亮度检测结果符合亮度检测标准。
进一步地,对所述多张视频帧分别进行色彩丰富度检测,包括:
针对每张视频帧,根据当前视频帧的各像素点灰度值确定像素点所处的阶;
确定阶中包含的像素点的数量超过第一阈值的阶的数量;
判断所述阶的数量是否超过第二阈值;和/或,
获取当前视频帧各像素点的第一颜色变换值和第二颜色变换值;
根据所述第一颜色变换值和所述第二颜色变换值确定所述当前视频帧的色彩丰富度值;
判断所述色彩丰富度值是否超过色彩丰富度阈值。
进一步地,判断色彩丰富度检测结果符合色彩丰富度检测标准,包括:
若所述阶的数量数超过第二阈值和/或所述色彩丰富度值超过色彩丰富度阈值,则色彩丰富度检测结果符合色彩丰富度标准。
进一步地,获取当前视频帧各像素点的第一颜色变换值和第二颜色变换值分别采用如下公式计算:rg=r-g;
根据所述第一颜色变换值和所述第二颜色变换值确定所述当前视频帧的色彩丰富度值,包括:
计算所述第一颜色变换值和所述第二颜色变换值的平均值和方差值;
根据所述平均值和所述方差值按照如下公式计算色彩丰富度值:
进一步地,对所述多张视频帧分别进行图像锐度检测,包括:
针对每个视频帧,获取当前视频帧中各像素点的锐度;
计算各像素点的锐度的平均值,确定为所述当前视频帧的锐度;
判断所述当前视频帧的锐度是否超过设定锐度阈值;
相应的,判断图像锐度检测结果符合图像锐度检测标准,包括:
若所述当前视频帧的锐度超过设定锐度阈值,则符合图像锐度标准。
进一步地,针对每个视频帧,获取当前视频帧中各像素点的锐度,包括:
获取各像素点的x梯度值和y梯度值;
根据所述x梯度值和所述y梯度值计算各像素点的锐度。
第二方面,本发明实施例还提供一种视频封面的确定装置,该装置包括:
视频帧获取模块,用于对目标视频进行解码,获得多张视频帧;
视频帧检测模块,用于对所述多张视频帧分别进行亮度检测、色彩丰富度检测以及图像锐度检测;
封面确定模块,用于将至少满足如下条件之一的视频帧确定为所述目标视频的封面,条件包括:亮度检测结果符合亮度检测标准、色彩丰富度检测结果符合色彩丰富度检测标准和图像锐度检测结果符合图像锐度检测标准。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例所述的视频封面的确定方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所述的视频封面的确定方法。
本发明实施例,首先对目标视频进行解码,获得多张视频帧,然后对多张视频帧分别进行亮度检测、色彩丰富度检测以及图像锐度检测,最后将至少满足如下条件之一的视频帧确定为目标视频的封面,条件包括:亮度检测结果符合亮度检测标准、色彩丰富度检测结果符合色彩丰富度检测标准和图像锐度检测结果符合图像锐度检测标准。本发明实施例提供的视频封面的确定方法,通过对目标视频包含的视频帧进行亮度检测、色彩丰富度检测以及图像锐度检测,以获得满足条件的视频帧作为目标视频的封面,保证封面的质量。
附图说明
图1是本发明实施例一中的一种视频封面的确定方法的流程示意图;
图2是本发明实施例二中的一种视频封面的确定装置的结构示意图;
图3是本发明实施例三中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种视频封面的确定方法的流程图,本实施例可适用于确定视频封面的情况,该方法可以由视频封面的确定装置来执行,该装置可由硬件和/或软件组成,并一般可集成在具有视频封面的确定功能的设备中,该设备可以是服务器、移动终端或服务器集群等电子设备。如图1所示,该方法具体包括如下步骤:
步骤110,对目标视频进行解码,获得多张视频帧。
视频由视频帧构成,对目标视频解码后,可以获得构成视频的多张视频帧。本实施例中,获得多张视频帧的方式可以是将目标视频输入视频编辑软件获得。
步骤120,对多张视频帧分别进行亮度检测、色彩丰富度检测以及图像锐度检测。
具体的,对多张视频帧分别进行亮度检测,可通过下述方式实施:针对每张视频帧,获取当前视频帧设定中心区域图像的图像亮度均值;判断图像亮度均值是否落在设定亮度范围。其中,设定中心区域可以是以视频帧的中心点为圆心,面积占视频帧总面积设定比例(例如:1/4)的圆围成的区域;或者将视频帧16等分后,处于中间的4个子区域所占的区域。获取当前视频帧设定中心区域图像的图像亮度均值的方式可以是获取处于设定中心区域的各像素点的yuv值,其中y代表像素点的明亮度,对处于设定区域的各像素点的y值取平均,获得图像明亮度均值。
可选的,获取当前视频帧设定中心区域图像的亮度均值的方式可以是:对当前视频帧进行16等分,获得16个子区域;分别获取处于当前视频帧中心区域的4个子区域的图像亮度均值。其中,获取4个子区域的图像亮度均值的方式和上述的方式相同,此处不再赘述。本应用场景下,检测视频帧在设定中心区域的图像明亮度,原因是在实际的直播或者短视频中,人脸通常在图像中心区域,当处于中心区域的人脸图像曝光良好,其背景相对较暗,或者处于中心区域的人脸图像过曝光,背景曝光良好时,若按照现有的方案对整个图像进行亮度检测,准确度不高。
具体的,对多张视频帧分别进行色彩丰富度检测,可通过下述方式实施:针对每张视频帧,根据当前视频帧的各像素点灰度值确定像素点所处的阶;确定阶中包含的像素点的数量超过第一阈值的阶的数量;判断阶的数量是否超过第二阈值;和/或,获取当前视频帧各像素点的第一颜色变换值和第二颜色变换值;根据第一颜色变换值和第二颜色变换值确定当前视频帧的色彩丰富度值;判断色彩丰富度值是否超过色彩丰富度阈值。
本实施例中,将像素点的灰度值分为64阶,即0-3为第一阶、4-7为第二阶、……、252-255为第64阶。其中,第一阈值可以是大于100的任意数,第二阈值可以是大于10小于64的任意值。示例性的,根据灰度值确定各像素点所处的阶后,确定阶中包含的像素点超过100的阶的数量,并判断阶的数量是否超过10。
可选的,获取当前视频帧各像素点的第一颜色变换值和第二颜色变换值分别采用如下公式计算:rg=r-g;
具体的,对多张视频帧分别进行图像锐度检测,可通过下述方式实施:针对每个视频帧,获取当前视频帧中各像素点的锐度;计算各像素点的锐度的平均值,确定为当前视频帧的锐度;判断当前视频帧的锐度是否超过设定锐度阈值。
其中,获取当前视频帧中各像素点的锐度的方式可以是:获取各像素点的x梯度值和y梯度值;根据x梯度值和y梯度值计算各像素点的锐度。x梯度值和y梯度值的计算公式如下:gx=g(x+2,y)-g(x,y),gy=g(x,y+2)-g(x,y),其中gx为x梯度值,gy为y梯度值,g(x,y)为处于(x,y)位置的像素点的像素值。根据x梯度值和y梯度值计算各像素点的锐度的计算公式可以是:h=|gx*gy|或者
步骤130,将至少满足如下条件之一的视频帧确定为目标视频的封面。
其中,条件包括:亮度检测结果符合亮度检测标准、色彩丰富度检测结果符合色彩丰富度检测标准和图像锐度检测结果符合图像锐度检测标准。
具体的,判断亮度检测结果符合亮度检测标准的方式可以是:若图像亮度均值落在设定亮度范围,则亮度检测结果符合亮度检测标准。或者,中心区域的4个子区域的图像亮度均值中的至少一个落在设定亮度范围,则亮度检测结果符合亮度检测标准。示例性的,设定亮度范围为[ls,lh],当图像亮度均值l满足ls<=l<=lh,则符合亮度检测标准。判断色彩丰富度检测结果符合色彩丰富度检测标准的方式可以是:若阶的数量数超过第二阈值和/或色彩丰富度值超过色彩丰富度阈值,则色彩丰富度检测结果符合色彩丰富度标准。优选的,本实施例中,当阶的数量超过第二阈值且色彩丰富度值超过色彩丰富度阈值,色彩丰富度检测结果符合色彩丰富度标准。判断图像锐度检测结果符合图像锐度检测标准的方式可以是:若当前视频帧的锐度超过设定锐度阈值,则符合图像锐度标准。
优选的,本实施例中,当视频帧同时满足如下三个条件:亮度检测结果符合亮度检测标准、色彩丰富度检测结果符合色彩丰富度检测标准和图像锐度检测结果符合图像锐度检测标准,则将该视频帧确定为视频的封面。
本实施例的技术方案,首先对目标视频进行解码,获得多张视频帧,然后对多张视频帧分别进行亮度检测、色彩丰富度检测以及图像锐度检测,最后将至少满足如下条件之一的视频帧确定为目标视频的封面,条件包括:亮度检测结果符合亮度检测标准、色彩丰富度检测结果符合色彩丰富度检测标准和图像锐度检测结果符合图像锐度检测标准。本发明实施例提供的视频封面的确定方法,通过对目标视频包含的视频帧进行亮度检测、色彩丰富度检测以及图像锐度检测,以获得满足条件的视频帧作为目标视频的封面,保证封面的质量。
实施例二
图2为本发明实施例二提供的一种视频封面的确定装置的结构示意图。如图2所示,该装置包括:视频帧获取模块210,视频帧检测模块220和封面确定模块230。
视频帧获取模块210,用于对目标视频进行解码,获得多张视频帧;
视频帧检测模块220,用于对多张视频帧分别进行亮度检测、色彩丰富度检测以及图像锐度检测;
封面确定模块230,用于将至少满足如下条件之一的视频帧确定为目标视频的封面,条件包括:亮度检测结果符合亮度检测标准、色彩丰富度检测结果符合色彩丰富度检测标准和图像锐度检测结果符合图像锐度检测标准。
可选的,视频帧检测模块220,还用于:
针对每张视频帧,获取当前视频帧设定中心区域图像的图像亮度均值;
判断图像亮度均值是否落在设定亮度范围;
相应的,判断亮度检测结果符合亮度检测标准,包括:
若图像亮度均值落在设定亮度范围,则亮度检测结果符合亮度检测标准。
可选的,视频帧检测模块220,还用于:
对当前视频帧进行16等分,获得16个子区域;
分别获取处于当前视频帧中心区域的4个子区域的图像亮度均值;
相应的,若图像亮度均值落在设定亮度范围,则亮度检测结果符合亮度检测标准,包括:
若中心区域的4个子区域的图像亮度均值中的至少一个落在设定亮度范围,则亮度检测结果符合亮度检测标准。
可选的,视频帧检测模块220,还用于:
针对每张视频帧,根据当前视频帧的各像素点灰度值确定像素点所处的阶;
确定阶中包含的像素点的数量超过第一阈值的阶的数量;
判断阶的数量是否超过第二阈值;和/或,
获取当前视频帧各像素点的第一颜色变换值和第二颜色变换值;
根据第一颜色变换值和第二颜色变换值确定当前视频帧的色彩丰富度值;
判断色彩丰富度值是否超过色彩丰富度阈值。
可选的,判断色彩丰富度检测结果符合色彩丰富度检测标准,包括:
若阶的数量数超过第二阈值和/或色彩丰富度值超过色彩丰富度阈值,则色彩丰富度检测结果符合色彩丰富度标准。
可选的,获取当前视频帧各像素点的第一颜色变换值和第二颜色变换值分别采用如下公式计算:rg=r-g;
根据第一颜色变换值和第二颜色变换值确定当前视频帧的色彩丰富度值,包括:
计算第一颜色变换值和第二颜色变换值的平均值和方差值;
根据平均值和方差值按照如下公式计算色彩丰富度值:
可选的,视频帧检测模块220,还用于:
针对每个视频帧,获取当前视频帧中各像素点的锐度;
计算各像素点的锐度的平均值,确定为当前视频帧的锐度;
判断当前视频帧的锐度是否超过设定锐度阈值;
相应的,判断图像锐度检测结果符合图像锐度检测标准,包括:
若当前视频帧的锐度超过设定锐度阈值,则符合图像锐度标准。
可选的,针对每个视频帧,获取当前视频帧中各像素点的锐度,包括:
获取各像素点的x梯度值和y梯度值;
根据x梯度值和y梯度值计算各像素点的锐度。
上述装置可执行本发明前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
实施例三
图3为本发明实施例三提供的一种计算机设备的结构示意图,如图3所示,本实施例提供的一种计算机设备,包括:处理器31和存储器32。该计算机设备中的处理器可以是一个或多个,图3中以一个处理器31为例,所述计算机设备中的处理器31和存储器32可以通过总线或其他方式连接,图3中以通过总线连接为例。
本实施例中计算机设备的处理器31中集成了上述实施例提供的视频封面的确定装置。此外,该计算机设备中的存储器32作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中视频封面的确定方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述方法实施例中视频封面的确定方法。
存储器32可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器32可进一步包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器31通过运行存储在存储器32中的程序,从而执行各种功能应用以及数据处理,实现例本发明实施例提供的视频封面的确定方法。
实施例六
本发明实施例六还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的视频封面的确定方法。
当然,本发明实施例所提供的一种计算机可读存储介质,其上存储的计算机程序不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的视频封面的确定方法中的相关操作。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。