视频图像处理方法及装置、电子设备与流程

文档序号:14253546阅读:176来源:国知局
视频图像处理方法及装置、电子设备与流程

本公开涉及图像处理技术领域,特别涉及一种视频图像处理方法及装置、电子设备、计算机可读存储介质。



背景技术:

随着网络技术的发展,视频以其更加形象直接的特点越来越受到众多用户的欢迎。视频效果的好坏已成为播放视频前必先考虑的关键因素,而如何制作出更多好看的效果,成为视频工具考虑的问题之一。

各种视频应用软件(如视频播放器)的一个主要功能就是提供多种滤镜(比如高斯模糊滤镜,裁剪滤镜,美颜滤镜等),用户可以选择多种滤镜,视频应用软件采用滤镜对应的滤镜算法对目标视频进行渲染处理,显示具有相应滤镜效果的图片。

但是,由于视频数据量非常大,在视频播放过程中,对视频进行滤镜处理,需要占用视频播放设备一定的内存,而调用多个滤镜对视频进行多次渲染,数据处理量较大,容易造成视频流卡顿的现象,导致视频播放效果比较差。



技术实现要素:

为了解决相关技术中存在的调用多个滤镜对视频进行多次渲染,数据处理量较大,容易造成视频流卡顿的问题,本公开提供了一种视频图像处理方法及装置。

一方面,本公开提供了一种视频图像处理方法,所述方法包括:

根据对视频图像触发进行的滤镜选择,获得对所述视频图像进行处理的滤镜组合;

获取所述滤镜组合中每种滤镜对不同颜色分量的处理参数;

将所述滤镜组合中所有滤镜对同一颜色分量的处理参数进行融合,得到所述滤镜组合对每一颜色分量的配置参数;

根据所述滤镜组合对每一颜色分量的配置参数,调整所述视频图像在相应颜色分量下的亮度。

另一方面,本公开提供了一种视频图像处理装置,所述装置包括:

滤镜获得模块,用于根据对视频图像触发进行的滤镜选择,获得对所述视频图像进行处理的滤镜组合;

参数获取模块,用于获取所述滤镜组合中每种滤镜对不同颜色分量的处理参数;

参数融合模块,用于将所述滤镜组合中所有滤镜对同一颜色分量的处理参数进行融合,得到所述滤镜组合对每一颜色分量的配置参数;

亮度调整模块,用于根据所述滤镜组合对每一颜色分量的配置参数,调整所述视频图像在相应颜色分量下的亮度。

此外,本公开还提供了一种电子设备,所述电子设备包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行上述视频图像处理方法。

此外,本公开还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可由处理器执行完成上述视频图像处理方法。

本公开实施例提供的技术方案可以包括以下有益效果:

本公开示例性实施例提供的技术方案,根据用户触发的滤镜选择,将所选择的滤镜对同一颜色分量的处理参数进行融合,得到滤镜组合对每一颜色分量的配置参数,进而根据滤镜组合对每一颜色分量的配置参数,即可调整视频图像在相应颜色分量下的亮度,通过对同一颜色分量的处理参数进行融合,从而无需根据每种滤镜的算法进行多次渲染,经过一次渲染即可实现多种滤镜的效果,避免了视频图像播放时的卡顿问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。

图1是根据本公开所涉及的实施环境的示意图;

图2是根据一示例性实施例示出的一种装置的框图;

图3是根据一示例性实施例示出的一种视频图像处理方法的流程图;

图4是图3对应实施例的步骤310的流程图;

图5是图3对应实施例的步骤370的流程图;

图6是边缘检测滤镜算法的流程框图;

图7是边缘检测滤镜对应的滤镜效果图;;

图8是根据一示例性实施例示出的一种视频图像处理装置的框图;

图9是图8对应实施例中滤镜获得模块的细节框图。

图10是图8对应实施例中亮度调整模块的细节框图。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1是根据本公开所涉及的实施环境的示意图。该实施环境包括:移动终端110和服务器120。

移动终端110与服务器120之间的关联方式,包括硬件的网络关联方式和/或协议,以及二者之间往来的数据关联方式。移动终端120可以通过网络从服务器120获取待播放的视频图像,之后采用本公开提供的视频图像处理方法对获取的视频图像进行处理后播放。

根据需要,移动终端110也可以在离线状态下,采用本公开提供的视频图像处理方法对自身存储的视频图像进行处理。当然,移动终端110还可以利用自身的摄像功能,进行视频录制获得视频图像,然后采用本公开提供的视频处理方法对录制的视频图像进行处理。

在一种应用场景中,服务器120可以采用本公开所提供的视频图像处理方法对移动终端上传或自身存储的视频图像进行处理。

图2是根据一示例性实施例示出的一种装置200的框图。例如,装置200可以是图1所示实施环境中的移动终端。移动终端比如可以是智能手机、平板电脑。

参照图2,装置200可以包括以下一个或多个组件:处理组件202,存储器204,电源组件206,多媒体组件208,音频组件210,传感器组件214以及通信组件216。

处理组件202通常控制装置200的整体操作,诸如与显示,电话呼叫,数据通信,相机操作以及记录操作相关联的操作等。处理组件202可以包括一个或多个处理器218来执行指令,以完成下述的方法的全部或部分步骤。此外,处理组件202可以包括一个或多个模块,便于处理组件202和其他组件之间的交互。例如,处理组件202可以包括多媒体模块,以方便多媒体组件208和处理组件202之间的交互。

存储器204被配置为存储各种类型的数据以支持在装置200的操作。这些数据的示例包括用于在装置200上操作的任何应用程序或方法的指令。存储器204可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammablereadonlymemory,简称eprom),可编程只读存储器(programmablered-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。存储器204中还存储有一个或多个模块,该一个或多个模块被配置成由该一个或多个处理器218执行,以完成下述图3、图4、图5任一所示方法中的全部或者部分步骤。

电源组件206为装置200的各种组件提供电力。电源组件206可以包括电源管理系统,一个或多个电源,及其他与为装置200生成、管理和分配电力相关联的组件。

多媒体组件208包括在所述装置200和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(liquidcrystaldisplay,简称lcd)和触摸面板。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。屏幕还可以包括有机电致发光显示器(organiclightemittingdisplay,简称oled)。

音频组件210被配置为输出和/或输入音频信号。例如,音频组件210包括一个麦克风(microphone,简称mic),当装置200处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器204或经由通信组件216发送。在一些实施例中,音频组件210还包括一个扬声器,用于输出音频信号。

传感器组件214包括一个或多个传感器,用于为装置200提供各个方面的状态评估。例如,传感器组件214可以检测到装置200的打开/关闭状态,组件的相对定位,传感器组件214还可以检测装置200或装置200一个组件的位置改变以及装置200的温度变化。在一些实施例中,该传感器组件214还可以包括磁传感器,压力传感器或温度传感器。

通信组件216被配置为便于装置200和其他设备之间有线或无线方式的通信。装置200可以接入基于通信标准的无线网络,如wifi(wireless-fidelity,无线保真)。在一个示例性实施例中,通信组件216经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件216还包括近场通信(nearfieldcommunication,简称nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(radiofrequencyidentification,简称rfid)技术,红外数据协会(infrareddataassociation,简称irda)技术,超宽带(ultrawideband,简称uwb)技术,蓝牙技术和其他技术来实现。

在示例性实施例中,装置200可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器、数字信号处理设备、可编程逻辑器件、现场可编程门阵列、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法。

图3是根据一示例性实施例示出的一种视频图像处理方法的流程图。该视频图像处理方法的适用范围和执行主体,例如,该方法用于图1所示实施环境的移动终端110或服务器120。如图3所示,该视频图像处理方法,可以由移动终端110执行,可以包括以下步骤。

在步骤310中,根据对视频图像触发进行的滤镜选择,获得对所述视频图像进行处理的滤镜组合;

其中,视频图像是指连续的静态图像的序列。该视频图像可以是移动终端110通过联网从服务器120中下载得到,也可以是移动终端110通过自身摄像头的视频录制功能采集得到。滤镜主要是用来实现图像的各种特殊效果,每种滤镜对应一种滤镜算法,采用该滤镜对应的算法对图像进行处理,可以使图像产生相应的滤镜效果。例如shadowlab(阴影滤镜),可以为物体添加多种阴影效果。smoke(烟雾滤镜),能生成各种自然烟雾效果。squint(斜视滤镜),能产生模糊效果。star(星形滤镜),能快速生成各种星形效果。用户选择对视频图像进行处理所需的滤镜,通常所选择的滤镜在两个以上,滤镜组合就是指用户所选择的多个滤镜。

需要说明的是,本公开所提供的视频图像处理方法可以应用于视频直播软件和视频播放器等视频应用软件,视频应用软件可以运行于移动终端120。视频应用软件采用本公开所提供的方法对获得的视频图像进行处理。举例来说,移动终端120可以通过视频直播软件调用摄像头进行视频图像的采集,然后采用本公开提供的视频图像处理方法对采集的视频图像进行处理。

目前,在视频直播过程中,主播侧移动终端110通过视频直播软件调用手机摄像头等视频录制设备现场录制原视频,并选择所需的滤镜,将所选的滤镜和原视频画面进行合成得到合成后的视频,将合成后的视频发送至服务器120,服务器120再将合成后的视频发送至用户端供用户观看。同样的,当主播侧选择多个滤镜,需要调用多个滤镜对录制的视频进行多次渲染时,数据处理量较大,也容易造成视频流卡顿的现象,导致直播效果比较差。而本公开所提供的视频图像处理方法可以用于解决进行多次渲染导致直播视频的视频流卡顿问题。

在一种示例性实施例中,移动终端110运行视频播放器,接收用户选择播放指定视频的指令,从服务器120获取该指定视频的视频图像,接收用户对该视频图像选择指定滤镜的触发指令,确定该触发指令所指示的滤镜种类,即得到对该视频图像进行处理的滤镜组合。

在步骤330中,获取所述滤镜组合中每种滤镜对不同颜色分量的处理参数;

其中,颜色分量又可以理解为颜色通道,包括r(红)、g(绿)、b(蓝)颜色通道,某个像素点的颜色可以由r、g、b三个颜色分量的值进行控制。当然,颜色分量不限于三个,也可以是四个或五个,例如rgbr。本公开以常见的三个颜色分量(r、g、b)进行举例来说,四个或更多个颜色分量的情况参见三个颜色分量实现。

需要解释的是,处理参数是指某种滤镜对r、g、b三个颜色分量分别进行调整的系数。某种滤镜对r、g、b三个颜色分量的处理参数可以依次表示为a、b、c。由于每种滤镜对应一种滤镜算法,假设某种滤镜的滤镜公式为1.1r+2.2g+3.3b,也就是该滤镜对r、g、b三个颜色分量的处理参数依次为1.1、2.2和3.3,从而可以提前在移动终端110的数据库中存储每种滤镜对不同颜色分量的处理参数。其中,滤镜的种类以及对应的滤镜公式可以是已知的,也可以进行个性化滤镜的设计,形成不同的滤镜公式,本公开对滤镜种类不做限定。

举例来说,第一种滤镜对r、g、b三个颜色分量的处理参数可以依次表示为a1、b1、c1,第二种滤镜对r、g、b三个颜色分量的处理参数可以依次表示为a2、b2、c2,以此类推。

具体的,移动终端110根据用户所选择的多个滤镜,即滤镜组合,可以从数据库中获取每种滤镜对不同颜色分量的处理参数。举例来说,可以对每个滤镜进行编号,根据用户所选择的滤镜的编号,从数据库中获取与该编号滤镜对应存储的对不同颜色分量的处理参数。假设用户选择上述第一种滤镜和第二种滤镜,则可以得到两种滤镜对r、g、b三个颜色分量的处理参数分别是a1、b1、c1和a2、b2、c2。

在步骤350中,将所述滤镜组合中所有滤镜对同一颜色分量的处理参数进行融合,得到所述滤镜组合对每一颜色分量的配置参数;

其中,滤镜组合中所有滤镜对同一颜色分量的处理参数是指滤镜组合中所有滤镜对r颜色分量的处理参数、滤镜组合中所有滤镜对g颜色分量的处理参数或者滤镜组合中所有滤镜对g颜色分量的处理参数。

配置参数是指滤镜组合整体对r、g、b三个颜色分量分别进行调整的系数,其中,滤镜组合对r颜色分量的配置参数可以通过将滤镜组合中所有滤镜对r颜色分量的处理参数进行融合。同样的,滤镜组合对g颜色分量的配置参数可以通过将滤镜组合中所有滤镜对g颜色分量的处理参数进行融合;滤镜组合对b颜色分量的配置参数可以通过将滤镜组合中所有滤镜对b颜色分量的处理参数进行融合。为便于描述,滤镜组合对r、g、b三个颜色分量的配置参数依次可以表示为x,y,z。

举例来说,假设滤镜组合包括上述第一种滤镜和第二种滤镜,两种滤镜对r颜色分量的处理参数是a1和a2,则通过对a1和a2进行融合得到x,即得到滤镜组合对r颜色分量的配置参数x。同理,两种滤镜对g颜色分量的处理参数是b1和b2,则通过对b1和b2进行融合得到y,即得到滤镜组合对g颜色分量的配置参数y。两种滤镜对b颜色分量的处理参数是c1和c2,则通过对c1和c2进行融合得到z,即得到滤镜组合对b颜色分量的配置参数z。

在步骤370中,根据所述滤镜组合对每一颜色分量的配置参数,调整所述视频图像在相应颜色分量下的亮度。

需要解释的是,亮度是指r、g、b颜色分量的值的大小,使用整数来表示。通常情况下,rgb各有256级亮度,用数字表示为从0、1、2...直到255。视频图像中某个像素点在r颜色分量下的值可以根据滤镜组合对r颜色分量的配置参数进行调整,视频图像中某个像素点在g颜色分量下的值可以根据滤镜组合对g颜色分量的配置参数进行调整,视频图像中某个像素点在b颜色分量下的值可以根据滤镜组合对b颜色分量的配置参数进行调整。

举例来说,假设滤镜组合包括上述第一种滤镜和第二种滤镜,滤镜组合对r颜色分量的配置参数为x,滤镜组合对g颜色分量的配置参数为y,滤镜组合对b颜色分量的配置参数为z,从而可以根据对r颜色分量的配置参数x调整视频图像中r颜色分量的亮度值,根据对g颜色分量的配置参数y调整视频图像中g颜色分量的亮度值,根据对b颜色分量的配置参数z调整视频图像中b颜色分量的亮度值。其中,滤镜组合对某一颜色分量的配置参数越大,调整视频图像中相应颜色分量的亮度值越大。

现有技术中,视频播放器或视频直播软件当用户选择多个滤镜对视频图像进行处理时,均是通过片源着色器调用每种滤镜的滤镜算法对视频图像进行多次渲染,数据处理量较大,容易造成视频流卡顿的现象,导致视频播放效果比较差。

本公开上述示例性实施例提供的技术方案,根据用户触发的滤镜选择,将所选择的滤镜对同一颜色分量的处理参数进行融合,得到滤镜组合对每一颜色分量的配置参数,进而根据滤镜组合对每一颜色分量的配置参数,即可调整视频图像在相应颜色分量下的亮度,通过对同一颜色分量的处理参数进行融合,从而无需根据每种滤镜的算法进行多次渲染,经过一次渲染即可实现多种滤镜的效果,避免了视频图像播放时的卡顿问题。

在一种示例性实施例中,如图4所示,步骤310具体包括以下步骤:

在步骤311中,根据为播放所述视频图像对视频播放器触发的特效显示,显示包含多种滤镜的滤镜选择界面;

具体的,移动终端110为播放视频图像运行视频播放器,用户对视频播放器触发特效显示的功能控件,移动终端110显示滤镜选择界面,该滤镜选择界面可以包括多种滤镜的效果缩略图,用户可以从该滤镜选择界面中选取所需的滤镜。

在步骤312中,接收选择所述滤镜选择界面中指定滤镜的触发指令;

具体的,用户可以点击滤镜选择界面中所显示的滤镜效果缩略图进行指定滤镜的选择,用户可以同时选择多个滤镜后进行提交,移动终端110接收到用户选择指定滤镜的触发指令,该指定滤镜包括用户所选择的多个滤镜。

在步骤313中,根据所述指定滤镜的触发指令获得指定滤镜构成的滤镜组合,所述滤镜组合用于对所述视频图像进行处理。

具体的,移动终端110接收用户从滤镜选择界面中选择指定滤镜的触发指令,根据触发指令指示的指定滤镜,可以得到指定滤镜构成的滤镜组合。该滤镜组合就是指用户所选择的多个滤镜,用于对视频图像进行处理,使视频图像具备多种滤镜的处理效果。

在一种示例性实施例中,步骤350具体包括以下步骤:

根据所述滤镜组合中每种滤镜对不同颜色分量的处理参数,计算所述滤镜组合中所有滤镜对同一颜色分量的处理参数均值,得到所述滤镜组合对每一颜色分量的配置参数。

举例来说,假设滤镜组合中包括三种滤镜,第一种滤镜对r、g、b三个颜色分量的处理参数依次表示为a1、b1、c1,第二种滤镜对r、g、b三个颜色分量的处理参数依次表示为a2、b2、c2,第三种滤镜对r、g、b三个颜色分量的处理参数依次表示为a3、b3、c3。三种滤镜对r颜色分量的处理参数均值为x=(a1+a2+a3)/3。同理,三种滤镜对g颜色分量的处理参数均值为y=(b1+b2+b3)/3,三种滤镜对b颜色分量的处理参数均值为z=(c1+c2+c3)/3。从而,得到滤镜组合对r、g、b颜色分量的配置参数依次为x,y,z。

在一种示例性实施例中,如图5所示,步骤370具体包括以下步骤:

在步骤371中,获取所述视频图像每个像素点在不同颜色分量下的原始亮度;

其中,原始亮度是指对视频图像进行处理之前,每个像素点在r颜色分量下的亮度值r1、在g颜色分量下的亮度值g1以及在b颜色分量下的亮度值b1。从而,对于视频图像的每个像素点均可得到在不同颜色分量下的亮度值,即原始亮度。

在步骤372中,根据所述滤镜组合对每一颜色分量的配置参数,计算相应颜色分量下原始亮度所对应的目标亮度;

其中,目标亮度与原始亮度对应,目标亮度是根据某个像素点在某个颜色分量下的原始亮度以及滤镜组合对相应颜色分量的配置参数计算得到的,是指经过滤镜组合处理后,该像素点在相应颜色分量下的亮度值。

具体的,假设滤镜组合对r、g、b三个颜色分量的配置参数分别为x,y,z,则可以根据滤镜组合对r颜色分量的配置参数x与视频图像每个像素点在r颜色分量下的原始亮度r1,计算得到视频图像每个像素点在r颜色分量下的原始亮度r1对应的目标亮度r2。同样的,根据滤镜组合对g颜色分量的配置参数y以及滤镜组合对b颜色分量的配置参数z,可以分别计算出视频图像每个像素点在g颜色分量下的目标亮度g2以及视频图像每个像素点在b颜色分量下的目标亮度b2。

可选的,步骤372具体包括:

根据视频图像每个像素点在不同颜色分量下的原始亮度,将每一颜色分量下的原始亮度乘以滤镜组合在相应颜色分量下的配置参数,得到所述视频图像每个像素点在相应颜色分量下的目标亮度。

换句话说,某个像素点某个颜色分量下的目标亮度可以是该像素点在该颜色分量下的原始亮度与滤镜组合在该颜色分量下的配置参数的乘积。

举例来说,某个像素点在r颜色分量下的原始亮度r1,与滤镜组合在r颜色分量下的配置参数x相乘,得到该像素点在r颜色分量下的目标亮度r2,r2是x与r1的乘积。同理,某个像素点在g颜色分量下的原始亮度g1,与滤镜组合在g颜色分量下的配置参数y相乘,得到该像素点在g颜色分量下的目标亮度g2,g2是y与g1的乘积。同理,某个像素点在b颜色分量下的原始亮度b1,与滤镜组合在b颜色分量下的配置参数z相乘,得到该像素点在b颜色分量下的目标亮度b2,b2是y与b1的乘积。

在步骤373中,将所述视频图像每个像素点在不同颜色分量下的原始亮度,按照相应颜色分量下的目标亮度进行渲染。

具体的,在计算出视频图像每个像素点在不同颜色分量下的目标亮度后,可以将原始视频图像按照视频图像每个像素点在不同颜色分量下的目标亮度进行渲染,即将视频图像每个像素点在不同颜色分量下的亮度值设置为计算得到的该像素点在不同颜色分量下的目标亮度。

进一步,上述步骤373具体包括:

将所述视频图像中的每一帧画面,根据每一帧画面每个像素点在不同颜色分量下的目标亮度,将每一帧画面依次渲染至视频播放器。

其中,视频图像包括按照时间序列排列的多帧画面,移动终端110可以对视频图像的每一帧画面进行处理,将每一帧画面的每个像素点在不同颜色分量下的亮度值设置为计算得到的目标亮度。根据需要,移动终端110可以先对每一帧画面进行处理,将每一帧画面的每个像素点在不同颜色分量下的亮度值设置为目标亮度,然后进行缓存,之后按照每一帧画面的先后顺序依次将每一帧画面渲染至视频播放器进行显示。

当然,移动终端110也可以按照视频图像中每一帧画面的先后顺序,依次将每一帧画面每个像素点在不同颜色分量下的亮度值设置为目标亮度值并渲染至视频播放器进行显示。

在一种示例性实施例中,该视频图像可以是实时采集的用于进行直播的视频图像。本公开提供的视频图像处理方法在上述步骤370之后,还包括以下步骤:

将经过亮度调整后的所述视频图像生成流媒体数据,将所述流媒体数据发送至直播室服务器,所述流媒体数据的发送触发直播室服务器向直播室观众客户端广播所述流媒体数据。

其中,流媒体是指采用流式传输的方式在网络播放的媒体格式,也就是说,将经过亮度调整后的视频图像打包成流媒体数据,从而可以通过互联网络以数据包的形式将视频图像发送至直播室服务器。

需要说明的是,本公开提供的视频图像处理方法可以用于视频直播软件,安装该视频直播软件的终端设备可以作为主播侧终端,主播可以选择多个滤镜,从而内置视频直播软件的主播侧终端可以根据主播所选择的滤镜组合,采用本公开提供的视频图像处理方法,对实时采集的视频图像进行处理,具体过程可以参照上述步骤310-370,调整该视频图像在不同颜色分量下的亮度。

之后,内置该视频直播软件的主播侧终端可以将经过亮度调整后的视频图像生成流媒体数据,并将该流媒体数据发送至与主播侧终端设备进行网络通信的直播室服务器,通过直播室服务器将该流媒体数据转发至主播所在直播室的每个观众对应的客户端。

在一种示例性实施例中,用户所选择的滤镜可以是边缘检测滤镜。本公开提供了一种边缘检测滤镜的滤镜算法,流程框图如图6所示,具体过程如下:

1、摄像头采集yuv颜色空间的图像;y指明亮度、u指色调、v指饱和度。

2、对yuv颜色空间的图像分成亮度纹理和色度纹理,并用yuv到rgb的转换矩阵,把两个纹理合成rgb图像。

其中,转换矩阵如下:。

因此,r=y+1.14v

g=y-0.39u-0.58v

b=y+2.03u

3、根据每个像素点r、g、b的颜色值,可以将rgb图像转换为灰度图像(即黑白图像)。每个像素点的灰度值(即亮度值)=0.299r+0.587g+0.114b。

4、之后,对于灰度图像中的每一像素点,根据该像素点的八方向像素值(即灰度值),用水平卷积矩阵算出水平方向的差异值h;用垂直卷积矩阵算出垂直方向的差异值v;根据sqrt(h^2+v^2)求出该像素点的新灰度值(即边界值),得到边界图。

在处理每个像素时,根据八方向求出边界值的过程与像素处理顺序无关;这个处理的过程可以用片源着色器进行并行计算,极大地提高处理效率。

需要说明的是,边界检测的原理:一个像素点为边界的表现是左右、上下的颜色差异很大,那么通过特定的卷积矩阵来运算,快速得到左右和上下方向的差异值之后,就可以通过这个值的大小来确定该像素点是否是边界。其中,sobel(索贝尔)边界检测的卷积矩阵如下:

水平的卷积矩阵:,垂直的卷积矩阵:。

如果左右(即水平)的颜色差异值很小/大,那么通过水平卷积矩阵得到的值h就会很小/大;如果上下(垂直)的颜色差异值很小/大,那么通过垂直卷积矩阵得到的值v就会很小/大;

于是通过两个卷积矩阵分别得到水平差异值h和垂直差异值v后,再用sqrt(h^2+v^2)就可以得到边界值。

具体过程如下:

将上述水平及垂直的卷积矩阵分别与灰度图像每个像素点的八方向像素值作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以a代表灰度图像中某个像素点(x,y)的八方向像素值,gx及gy分别代表经横向及纵向边缘检测的图像灰度值,其公式如下:

具体计算如下:

gx=(-1)*f(x-1,y-1)+0*f(x,y-1)+1*f(x+1,y-1)

+(-2)*f(x-1,y)+0*f(x,y)+2*f(x+1,y)

+(-1)*f(x-1,y+1)+0*f(x,y+1)+1*f(x+1,y+1)

=[f(x+1,y-1)+2*f(x+1,y)+f(x+1,y+1)]-[f(x-1,y-1)+2*f(x-1,y)+f(x-1,y+1)]

gy=1*f(x-1,y-1)+2*f(x,y-1)+1*f(x+1,y-1)

+0*f(x-1,y)0*f(x,y)+0*f(x+1,y)

+(-1)*f(x-1,y+1)+(-2)*f(x,y+1)+(-1)*f(x+1,y+1)

=[f(x-1,y-1)+2f(x,y-1)+f(x+1,y-1)]-[f(x-1,y+1)+2*f(x,y+1)+f(x+1,y+1)]。

其中f(x,y)表示图像中点(x,y)的灰度值;

灰度图像的每一个像素的横向及纵向灰度值通过以下公式结合,来计算该点灰度的大小:

通常,为了提高效率使用不开平方的近似值:

|g|=|gx|+|gy|

g大于某一阈值,则图像中点(x,y)为边缘。

然后可用以下公式计算梯度方向:

上述根据像素点上下、左右邻点的灰度加权差,在边缘处达到极值这一现象来检测边缘,对噪声具有平滑作用,提供较为精确的边缘方向信息。

5、在得到边界图后,可以根据屏幕显示区域尺寸大小,调整边界图的大小,将边界图显示到屏幕上。显示效果如图7所示。

下述为本公开装置实施例,可以用于执行本公开上述移动终端110执行的视频图像处理方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开视频图像处理方法实施例。

图8是根据一示例性实施例示出的一种视频图像处理装置的框图,该视频图像处理装置可以用于图1所示实施环境的移动终端110中,执行图3-图5任一所示的视频图像处理方法的全部或者部分步骤。如图8所示,该装置包括但不限于:滤镜获得模块810、参数获取模块830、参数融合模块850以及亮度调整模块870。

滤镜获得模块810,用于根据对视频图像触发进行的滤镜选择,获得对所述视频图像进行处理的滤镜组合;

参数获取模块830,用于获取所述滤镜组合中每种滤镜对不同颜色分量的处理参数;

参数融合模块850,用于将所述滤镜组合中所有滤镜对同一颜色分量的处理参数进行融合,得到所述滤镜组合对每一颜色分量的配置参数;

亮度调整模块870,用于根据所述滤镜组合对每一颜色分量的配置参数,调整所述视频图像在相应颜色分量下的亮度。

上述装置中各个模块的功能和作用的实现过程具体详见上述视频图像处理方法中对应步骤的实现过程,在此不再赘述。

滤镜获得模块810比如可以是图2中的某一个物理结构传感器组件214。

参数获取模块830、参数融合模块850以及亮度调整模块870也可以是功能模块,用于执行上述视频图像处理方法中的对应步骤。可以理解,这些模块可以通过硬件、软件、或二者结合来实现。当以硬件方式实现时,这些模块可以实施为一个或多个硬件模块,例如一个或多个专用集成电路。当以软件方式实现时,这些模块可以实施为在一个或多个处理器上执行的一个或多个计算机程序,例如图2的处理器218所执行的存储在存储器204中的程序。

其中,如图9所示,所述滤镜获得模块810包括但不限于:

选择界面显示单元811,用于根据为播放所述视频图像对视频播放器触发的特效显示,显示包含多种滤镜的滤镜选择界面;

触发指令接收单元812,用于接收选择所述滤镜选择界面中指定滤镜的触发指令;

滤镜获得单元813,用于根据所述指定滤镜的触发指令获得指定滤镜构成的滤镜组合,所述滤镜组合用于对所述视频图像进行处理。

在一种示例性实施例中,所述参数融合模块850包括但不限于:

均值计算单元,用于根据所述滤镜组合中每种滤镜对不同颜色分量的处理参数,计算所述滤镜组合中所有滤镜对同一颜色分量的处理参数均值,得到所述滤镜组合对每一颜色分量的配置参数。

在一种示例性实施例中,如图10所示,所述亮度调整模块870包括但不限于:

亮度获取单元871,用于获取所述视频图像每个像素点在不同颜色分量下的原始亮度;

亮度计算单元872,用于根据所述滤镜组合对每一颜色分量的配置参数,计算相应颜色分量下原始亮度所对应的目标亮度;

亮度渲染单元873,用于将所述视频图像每个像素点在不同颜色分量下的原始亮度,按照相应颜色分量下的目标亮度进行渲染。

在一种示例性实施例中,所述亮度渲染单元873包括但不限于:

渲染子单元,用于将所述视频图像中的每一帧画面,根据每一帧画面每个像素点在不同颜色分量下的目标亮度,将每一帧画面依次渲染至视频播放器。

在一种示例性实施例中,所述亮度计算单元872包括但不限于:

亮度计算子单元,用于根据视频图像每个像素点在不同颜色分量下的原始亮度,将每一颜色分量下的原始亮度乘以滤镜组合在相应颜色分量下的配置参数,得到所述视频图像每个像素点在相应颜色分量下的目标亮度。

在一种示例性实施例中,本公开提供的视频图像处理装置还包括但不限于:

数据发送模块,用于将经过亮度调整后的所述视频图像生成流媒体数据,将所述流媒体数据发送至直播室服务器,所述流媒体数据的发送触发直播室服务器向直播室观众客户端广播所述流媒体数据。

可选的,本公开还提供一种电子设备,该电子设备可以用于图1所示实施环境的移动终端110中,执行图3、图4、图5任一所示的视频图像处理方法的全部或者部分步骤。所述装置包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行上述示例性实施例所述的视频图像处理方法。

该实施例中电子设备的处理器执行操作的具体方式已经在有关该视频图像处理方法的实施例中执行了详细描述,此处将不做详细阐述说明。

在示例性实施例中,还提供了一种存储介质,该存储介质为计算机可读存储介质,例如可以为包括指令的临时性和非临时性计算机可读存储介质。该存储介质存储有计算机程序,所述计算机程序可由装置200的处理器218执行以完成上述视频图像处理方法。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1