技术领域
[0001] 本
发明涉及视频应用领域,具体涉及一种滤镜效果的加速处理方 法、存储介质、电子设备及系统。
背景技术
[0002] 滤镜主要是用来实现图像的各种特殊效果。例如美颜、美型、贴 纸、怀旧、黑白、素描、唯美等等。滤镜效果的处理
算法有很多种, 例如在滤镜中加入磨皮效果,需要对图像进行高斯滤波或者双边滤波 等。在滤镜中改变图像色彩,则需要
修改亮度、
饱和度、
对比度等。 在滤镜中加入美型(放大眼睛和瘦脸)效果,则需要检测人脸和眼睛 的
位置等。
[0003] 在视频直播中可能会有多种滤镜效果
叠加,每种滤镜都有各自的
图像处理算法,而每种图像算法都需要消耗时间,如果叠加的滤镜效 果处理过于耗时,就会造成直播卡顿,给主播带来极其不好的直播体 验,用户的观看体验也会很差。一般直播中推流的
帧率为30fps或者 25fps,1秒之内需要处理30帧或者25帧,如果按25fps来算,每帧 图像处理的时间最多为40ms,因为推流前需要编码和显示,所以实 际的滤镜效果处理的时间必须小于40ms,但是移动端(Android和iOS 手机)的
硬件处理能
力有限,尤其是低端Android手机的图像处理效 率很低,使得在解决上述问题中遇到了困难。
发明内容
[0004] 针对
现有技术中存在的
缺陷,本发明的目的在于提供一种能提高 图像处理的效率的滤镜效果的加速处理方法。
[0005] 为达到以上目的,本发明采取的技术方案是:
[0006] 一种滤镜效果的加速处理方法,该方法包括以下步骤:
[0007] 根据所选滤镜效果的类别,确定该类别的滤镜效果的图像处理算 法;
[0008] 离线环节中,对图像中的每个
像素点按照所述图像处理算法进行 计算,并将计算结果保存在结果文件中;以及
[0009] 在线直播时,将结果文件读取到内存中,根据当前像素点的数据 直接在内存中提取对应的结果数据。
[0010] 在上述技术方案的
基础上,将计算结果保存成位图或者二进制文 件。
[0011] 在上述技术方案的基础上,所选滤镜效果为滤色效果,根据滤色 效果确定图像处理算法,计算所有滤色结果并保存在结果文件中。
[0012] 在上述技术方案的基础上,根据滤色效果的原理,将要混合的两 种
颜色分别记为基色和混合色,并将得到的滤色结果记为结果色,得 到的图像处理算法的计算公式为:
[0013] 结果色=255-[(255-基色)×(255-混合色)]/255。
[0014] 在上述技术方案的基础上,计算所有滤色结果的步骤为:
[0015] 将所有的基色和和混合色运用列举法,一对一进行
配对并带入所 述计算公式中计算所述结果色,所述基色范围为0~255的整数,所述 混合色范围为0~255的整数。
[0016] 在上述技术方案的基础上,所述滤镜效果包括滤色、美颜、美型、 贴纸、怀旧、黑白、素描和唯美。
[0017] 本发明还提供一种存储介质,其上存储有
计算机程序,所述计算 机程序被处理器执行时实现上述方法的步骤。
[0018] 本发明还提供一种设备,包括
存储器、处理器及存储在存储器上 并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程 序时实现上述方法的步骤。
[0019] 本发明的目的在于提供一种能提高图像处理的效率的滤镜效果 的加速处理系统。
[0020] 为达到以上目的,本发明采取的技术方案是:
[0021] 一种滤镜效果的加速处理系统,包括:
[0022] 判断模
块,其用于根据所选滤镜效果的类别,确定所述类别的滤 镜效果的图像处理算法;
[0023] 计算模块,其用于对图像中的每个像素点按照所述图像处理算法 进行计算,并将计算结果保存在结果文件中;
[0024] 存储模块,其用于存储所述结果文件;以及
[0025] 提取模块,其用于在线直播时,将结果文件读取到内存中,并根 据当前像素点的数据直接在内存中提取对应的结果数据。
[0026] 在上述技术方案的基础上,所述计算模块用于将计算结果保存成 位图或者二进制文件。
[0027] 与现有技术相比,本发明的优点在于:
[0028] 本发明的滤镜效果的加速处理方法,在确定滤镜效果的图像处理 算法后,在离线环节即完成了可以离线完成的计算工作,并将计算结 果保存在结果文件中,在视频直播时,只需要把保存的结果文件读取 到内存中,然后根据当前的像素点数据直接在内存中取相应的结果数 据即可,避免了在线的实时计算,大幅度地提高了图像处理的效率。
附图说明
[0029] 图1为本发明
实施例中滤镜效果的加速处理方法的
流程图;
[0030] 图2为本发明实施例中电子设备连接
框图。
具体实施方式
[0031] 以下结合附图及实施例对本发明作进一步详细说明。
[0032] 参见图1所示,本发明实施例提供一种滤镜效果的加速处理方 法,该方法包括以下步骤:
[0033] S1.根据所选滤镜效果的类别,确定该滤镜效果的图像处理算法 的计算公式。
[0034] 滤镜主要是用来实现图像的各种特殊效果,滤镜效果包括滤色、 美颜、美型、贴纸、怀旧、黑白、素描和唯美等。每种滤镜都有各自 的图像处理算法,本发明实施例以滤色效果为例,即根据滤色效果确 定图像处理算法。图像处理主要是对图像中的每个像素点按照图像处 理算法进行计算,把计算后的结果再保存到该像素点位置。
[0035] 具体的,根据滤色效果的特点,将要混合的两种颜色分别记为基 色和混合色,并将得到的滤色结果记为结果色,得到的图像处理算法 的计算公式为:
[0036] 结果色=255-[(255-基色)×(255-混合色)]/255。
[0037] S2.离线环节中,对图像中的每个像素点按照图像处理算法进行 计算,并将计算结果保存在结果文件中。
[0038] 由于图像中像素点的数值范围为[0,255],所以只需要把[0,255] 这256个数值放到图像处理算法的计算公式中,算出对应的结果后保 存在结果文件中,本发明实施例中将计算结果保存成位图或者二进制 文件。这个过程是离线的操作,即在视频直播前事先计算好结果保存 在结果文件中。
[0039] 具体的,以滤色效果为例,计算所有滤色结果的步骤为:将所有 的基色和和混合色运用列举法,一对一进行配对并带入步骤S1中的 计算公式中计算结果色,基色范围为0~255的整数,混合色范围为0~255的整数,即:
[0040]
[0041] 其中,i代表基色,i∈[0,255],j代表混合色,j∈[0,255],Src(i,j) 为当前保存的滤色结果。
[0042] S3.在线直播时,将结果文件读取到内存中,根据当前像素点的 数据直接在内存中提取对应的结果数据。
[0043] 在视频直播时,把保存的结果文件读取到内存中,然后根据当前 的像素点数据直接在内存中取相应的结果数据,避免了在线的实时计 算,大幅度地提高了图像处理的效率。
[0044] 具体的,把步骤S2中保存的位图或者二进制文件读取到内存中, 需要滤色处理时直接在Src(i,j)中(i,j)对应的位置读取数据即可,其 中i为基色的数据,j为混合色的数据。这种操作方法只需在内存中 相应的位置取出之前计算好的结果,而不需要任何的数学计算,简化 了
数据处理流程,而达到了同样的滤镜效果。
[0045] 综上所述,本发明实施例在确定滤镜效果的图像处理算法后,在 离线环节即完成了可以离线完成的计算工作,并将计算结果保存在结 果文件中,在视频直播时,只需要把保存的结果文件读取到内存中, 然后根据当前的像素点数据直接在内存中取相应的结果数据即可,避 免了在线的实时计算,大幅度地提高了图像处理的效率。其他类似的 图像处理算法同理,都可以通过此方案加快处理速度。在实际使用过 程中,如果是灰度图像,只需要按照上述步骤处理灰度数据即可,如 果是彩色图像,则需要对R、G、B三通道分别处理。
[0046] 对应上述的滤镜效果的加速处理方法,本发明实施例还提供一种 存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可 实现上述实施例中的滤镜效果的加速处理方法的步骤。需要说明的 是,存储介质包括U盘、移动
硬盘、ROM(Read-Only Memory,只 读存储器)、RAM(Random Access Memory,
随机存取存储器)、磁 碟或者光盘等各种可以存储程序代码的介质。
[0047] 另外,参见图2所示,对应上述的滤镜效果的加速处理方法,本 发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储 器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时 可实现上述实施例中的滤镜效果的加速处理方法的步骤。
[0048] 本发明实施例还提供一种滤镜效果的加速处理系统,其包括判断 模块、计算模块、存储模块和提取模块。
[0049] 判断模块,其用于根据所选滤镜效果的类别,确定该类别的滤镜 效果的图像处理算法。
[0050] 计算模块,其用于对图像中的每个像素点按照所述图像处理算法 进行计算,并将计算结果保存在结果文件中。本发明实施例中的计算 模块将计算结果保存成位图或者二进制文件。
[0051] 存储模块,其用于存储所述结果文件。
[0052] 提取模块,其用于在线直播时,将结果文件读取到内存中,并根 据当前像素点的数据直接在内存中提取对应的结果数据。
[0053] 本发明不局限于上述实施方式,对于本技术领域的普通技术人员 来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰, 这些改进和润饰也视为本发明的保护范围之内。本
说明书中未作详细 描述的内容属于本领域专业技术人员公知的现有技术。