图像滤波的方法和装置与流程

文档序号:11832824阅读:381来源:国知局
图像滤波的方法和装置与流程

本发明涉及图像处理领域,特别是涉及一种图像滤波的方法和装置。



背景技术:

随着计算机技术和网络技术的发展,用户不在满足于自然拍摄的图像,通常需要对拍摄的图像进行处理,使得图像中人或物更加细腻、轮廓更加清晰。传统的图像处理软件虽然有各种基于人或物的特效滤镜处理,但滤镜特效处理大多还停留在固化的滤镜特效上,视频图像变化,其固化的滤镜处理效果一样,极少做到能实时预览,实时发送视频画面,使得对方和本端看到的视频画面一致,因此,传统的图像处理方法无法实现视频图像的滤波处理。



技术实现要素:

基于此,有必要针对传统的图像处理方法无法实现视频图像的滤波处理的问题,提供一种图像滤波的方法,能实现视频图像滤波处理。

一种图像滤波的方法,包括以下步骤:

获取一帧图像;

从所述一帧图像中获取测试像素点;

分别求取各个测试像素点与相邻像素点的像素差值;

根据所述像素差值得到相邻像素点的权重和测试像素点的权重;

根据两像素点的权重及对应的像素值更新各个对应测试像素点的像素值。

一种图像滤波的装置,包括:

图像获取模块,用于获取一帧图像;

像素点获取模块,用于从所述一帧图像中获取测试像素点;

像素差值求取模块,用于分别求取各个测试像素点与相邻像素点的像素差值;

权重求取模块,用于根据所述像素差值得到相邻像素点的权重和测试像素 点的权重;

更新模块,用于根据两像素点的权重及对应的像素值更新各个对应测试像素点的像素值。

上述图像滤波的方法和装置,通过对获取的一帧图像获取各个测试像素点,求取测试像素点与相邻像素点的像素差值,根据像素差值计算测试像素点和相邻像素点各自的权重,根据两像素点的权重及对应的像素值更新测试像素点的像素值,可快速对采集的每一帧图像基于自身的相邻像素点关系进行滤波处理,能实时对视频图像进行滤波处理,效率高;无需主动去检测边缘像素点;强边缘得到保留,弱边缘被合理磨平、平滑过渡;通过差值对像素点进行滤波,渐进平坦。

附图说明

图1为一个实施例中图像滤波的方法和装置的应用环境示意图;

图2A为一个实施例中终端的内部结构示意图;

图2B为一个实施例中服务器的内部结构框图;

图3为一个实施例中图像滤波的方法的流程图;

图4为一个实施例中一行像素点的示意图;

图5为一个实施例中一列像素点的示意图;

图6为一个实施例中按行更新测试像素点的像素值的具体流程图;

图7为一帧图像按行切分的示意图;

图8为一个实施例中按列更新测试像素点的像素值的具体流程图;

图9为一帧图像按行切分的示意图;

图10为一个实施例中图像滤波的装置的结构框图;

图11为使用图像滤波的方法滤波效果与其他软件滤波效果的对比图;

图12为优化后的Neon相对于C代码提升百分比对比示意图;

图13为针对不同分辨率优化前后帧率提升对比示意图;

图14为本发明的图像滤波的方法和BEEPS算法运行每秒帧率数对比示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为一个实施例中图像滤波的方法和装置的应用环境示意图。如图1所示,该应用环境包括终端110和服务器120。终端110包括多个终端,终端110与服务器120进行网络通信。两个终端110之间建立视频通话连接后,终端110上的图像滤波的装置对采集的图像进行实时滤波处理,并将滤波处理后的图像发送给进行视频的终端110进行显示,使得接收图像的终端110上显示的视频图像与发送图像的终端110上一致。该图像滤波的方法和装置可应用于视频通话中视频图像的滤波处理,也可以应用于主播视频中对主播的视频图像进行滤波处理,在用户接收端接收的视频图像与主播发送端的视频图像一致。

图2A为一个实施例中终端110的内部结构示意图。如图2A所示,该终端包括通过系统总线连接的处理器、存储介质、内存和网络接口、声音采集装置、显示屏、扬声器和输入装置。其中,终端的存储介质存储有操作系统,还包括一种图像滤波的装置,该图像滤波的装置用于实现一种图像滤波的方法。该处理器用于提供计算和控制能力,支撑整个终端的运行。终端中的内存为存储介质中的图像滤波的装置的运行提供环境,网络接口用于与服务器进行网络通信,如发送视频画面至服务器,接收服务器返回的另一端的视频画面等。终端的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该终端可以是手机、平板电脑或者个人数字助理。本领域技术人员可以理解,图2A中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

图2B为一个实施例中服务器120的内部结构框图。如图2B所示,该服务器120 包括通过系统总线连接的处理器、存储介质、内存和网络接口。其中,该服务器的存储介质存储有操作系统、数据库和图像滤波的装置,数据库中存储有视频通话的终端的用户信息及网络地址等,该图像滤波的装置用于实现适用于服务器的一种图像滤波的方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存为存储介质中的图像滤波的装置的运行提供环境。该服务器的网络接口用于据以与外部的终端通过网络连接通信,比如接收终端发送的视频通话请求以及向终端返回视频通话数据等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图2B中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

图像滤波的方法有多种,例如高斯滤波器、双边滤波等。双边滤波(Bilateral filter)是一种可以保边去噪的滤波器。双边滤波器是由两个函数构成,其中一个函数由几何空间距离决定滤波器系数,另一个由像素像素差值决定滤波器系数。

高斯滤波器<mrow> <msub> <mi>W</mi> <mi>ij</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <msub> <mi>K</mi> <mi>i</mi> </msub> </mfrac> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <msup> <mrow> <mo>|</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>|</mo> </mrow> <mn>2</mn> </msup> <msup> <mi>&sigma;</mi> <mn>2</mn> </msup> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

公式(1)中,W是权重,i和j是像素索引,K是归一化常量,σ2表示方差。公式中可以看出,权重值和像素之间的空间距离有关系。无论图像的内容是什么,都有相同的滤波效果。

双边滤波器是在高斯函数的基础上加了一项,如公式(2):

<mrow> <msub> <mi>W</mi> <mi>ij</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <msub> <mi>K</mi> <mi>i</mi> </msub> </mfrac> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <msup> <mrow> <mo>|</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>|</mo> </mrow> <mn>2</mn> </msup> <msup> <msub> <mi>&sigma;</mi> <mi>s</mi> </msub> <mn>2</mn> </msup> </mfrac> <mo>)</mo> </mrow> <mi>exp</mi> <mrow> <mo>(</mo> <mfrac> <msup> <mrow> <mo>|</mo> <msub> <mi>I</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>I</mi> <mi>i</mi> </msub> <mo>|</mo> </mrow> <mn>2</mn> </msup> <msup> <msub> <mi>&sigma;</mi> <mi>r</mi> </msub> <mn>2</mn> </msup> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

公式(2)中,I是像素的强度值,在强度差距大的地方(如边缘),权重会减小,滤波效应也变小。也就是,在像素强度变化不大的区域,双边滤波有类似于高斯滤波的效果,而在图像边缘等强度梯度较大的地方,可以保持梯度。

双边滤波器中,输出像素的值依赖于邻域像素的值的加权组合。

<mrow> <mi>g</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msub> <mi>&Sigma;</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>l</mi> </mrow> </msub> <mi>f</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> <mi>w</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>,</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>&Sigma;</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>l</mi> </mrow> </msub> <mi>w</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>,</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

公式(3)中,g(i,j)表示输出图像点(i,j)的颜色值g,f(k,l)表示输入图像点(k,l)的颜色值f,w(i,j,k,l)表示当前图像点(i,j)与其邻域点(k,l)的加权值w。权重系数w(i,j,k,l)取决于定义域核和值域核 <mrow> <mi>r</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>,</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mrow> <mo>|</mo> <mo>|</mo> <mi>f</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> </mrow> <mrow> <mn>2</mn> <msubsup> <mi>&sigma;</mi> <mi>r</mi> <mn>2</mn> </msubsup> </mrow> </mfrac> <mo>)</mo> </mrow> </mrow>的乘积。

<mrow> <mi>w</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>,</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mrow> <msup> <mrow> <mo>(</mo> <mi>i</mi> <mo>-</mo> <mi>k</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mi>j</mi> <mo>-</mo> <mi>l</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> <mrow> <mn>2</mn> <msubsup> <mi>&sigma;</mi> <mi>d</mi> <mn>2</mn> </msubsup> </mrow> </mfrac> <mo>-</mo> <mfrac> <msup> <mrow> <mo>|</mo> <mo>|</mo> <mi>f</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow> <mn>2</mn> </msup> <mrow> <mn>2</mn> <msubsup> <mi>&sigma;</mi> <mi>r</mi> <mn>2</mn> </msubsup> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>,</mo> </mrow>同时考虑了空间域和值域的差别。

图3为一个实施例中图像滤波的方法的流程图。图3中的图像滤波的方法运行于图1的应用环境中。如图3所示,一种图像滤波的方法,包括以下步骤:

步骤302,获取一帧图像。

具体的,终端上的摄像头等设备采集视频中一帧图像。

步骤304,从该一帧图像中获取测试像素点。

具体的,可按行或按列从一帧图像中任意选取测试像素点。

步骤306,分别求取各个测试像素点与相邻像素点的像素差值。

本实施例中,按行或按列分别求取各个测试像素点与相邻像素点的像素差值。

具体的,按行可从第一方向或第二方向求取各个测试像素点与相邻像素点的像素差值。第一方向可为从左到右,第二方向可为从右到左,或者第一方向可为从右到左,第二方向可为从左到右。

例如,第一方向为从左到右,则按行从第一方向求取各个测试像素点与相邻像素点的像素差值时,测试像素点为a1,则选取该测试像素点左边或右边的相邻像素点a2,计算测试像素点a1与相邻像素点a2的像素差值。

图4为一个实施例中一行像素点的示意图。如图4所示,第一方向为从左 到右,第二方向为从右到左,可按照第一方向或第二方向选取测试像素点的相邻像素点,并求取两者之间的像素差值。

第二方向为从右到左,则按行从第二方向求取各个测试像素点与相邻像素点的像素差值时,测试像素点为a1,则选取该测试像素点右边或左边的相邻像素点a2,计算测试像素点a1与相邻像素点a2的像素差值。

按列从第三方向或第四方向求取各个测试像素点与相邻像素点的像素差值。第三方向可为从上到下,第四方可为从下到上。或者,第三方向可为从下到上,第四方向可为从上到下。

例如第三方向为从上到下,则按列从第三方向求取各个测试像素点与相邻像素点的像素差值时,测试像素点为b1,则选取该测试像素点上边或下边的相邻像素点b2,计算测试像素点b1与相邻像素点b2的像素差值。

图5为一个实施例中一列像素点的示意图。如图5所示,第三方向为从上到下,第二方向为从下到上,可按照第三方向或第四方向选取测试像素点的相邻像素点,并求取两者之间的像素差值。

第四方向为从下到上,则按列从第四方向求取各个测试像素点与相邻像素点的像素差值时,测试像素点为b1,则选取该测试像素点上边或下边的相邻像素点b2,计算测试像素点a1与相邻像素点b2的像素差值。

需要说明的,上述描述中的上、下、左、右是为了描述清楚按照示意图进行描述,但不作为对实施例的限制。

步骤308,根据该像素差值得到相邻像素点的权重和测试像素点的权重。

具体的,测试像素点的权重与像素差值的绝对值或像素差值的平方成递减函数关系。像素差值的绝对值或像素差值的平方越大,则测试像素点的权重越小,像素差值的绝对值或像素差值的平方越小,则测试像素点的权重越大。测试像素点的权重和相邻像素点的权重之和为1。

测试像素点的权重为α,像素差值为δ,则α=f(δ)=f(x[i]-x[i-1]),其中,f(δ)为连续、光滑递减函数,x[i]为测试像素点i的像素值,x[i-1]为相邻像素点(i-1)的像素值。例如,α=λ*e-c*δ*δ,其中,λ为归一化因子,c为控制强弱的因子。 其中,σ为方差,取值可为1至255。λ取值是使得α=f(δ)=f(x[i]-x[i-1])的取值归一化到0至255之间。

步骤310,根据两像素点的权重及对应的像素值更新各个对应测试像素点的像素值。

具体的,可将测试像素点的权重与测试像素点的像素值的乘积,加上相邻像素点的权重与相邻像素点的像素值的乘积所得的和作为更新后测试像素点的像素值,计算公式如(4)所示。

x[i]=α*x[i]+(1-α)*x[i-1] (4)

其中,左边的x[i]为更新后的测试像素点i的像素值,α*x[i]中x[i]为更新前的测试像素点i的像素值,α为测试像素点i的权重,x[i-1]为相邻像素点(i-1)的像素值,(1-α)为相邻像素点(i-1)的权重。

上述图像滤波的方法,通过对获取的一帧图像获取各个测试像素点,求取测试像素点与相邻像素点的像素差值,根据像素差值计算测试像素点和相邻像素点各自的权重,根据两像素点的权重及对应的像素值更新测试像素点的像素值,可快速对采集的每一帧图像基于自身的相邻像素点关系进行滤波处理,能实时对视频图像进行滤波处理,效率高。

此外,上述图像滤波的方法,无需主动去检测边缘像素点;强边缘得到保留,弱边缘被合理磨平、平滑过渡;适合并行化加速处理,按8×8并行处理,Neon技术和GPU(Graphics Processing Unit,图形处理器)都适合去加速;同样代码,可以用于低带宽下的视频降噪;通过差值对像素点进行滤波,渐进平坦。

在一个实施例中,上述图像滤波的方法还包括:按行从一帧图像中获取测试像素点,并按行更新该测试像素点的像素值。

图6为一个实施例中按行更新测试像素点的像素值的具体流程图。如图6所示,按行从一帧图像中获取测试像素点,按行更新该测试像素点的像素值,包括:

步骤602,按行从一帧图像中获取测试像素点。

具体的,一帧图像可看作为二维信号,该二维信号长度为Height,宽度为Width。按行从一帧图像中获取测试像素点,即将一帧图像按行切分,一共Height行,其中一行的一维信号x[i][1,2,…,Width],Width为该一维信号的长度,i为第i行,i为1、2、……、Height。

图7为一帧图像按行切分的示意图。如图7所示,将一帧图像按行切分,得到H行,每一行的长度为W,即每一行包括W个像素点。

步骤604,按行从第一方向求取各个测试像素点与第一相邻像素点的第一像素差值。

具体的,第一方向可为从左到右,或从右到左。第一像素差值δ1=x[k]-x[k-1],k为第i行中的k个像素点。

步骤606,根据该第一像素差值得到第一相邻像素点的第一权重和测试像素点的第一权重。

具体的,测试像素点的第一权重与第一像素差值的绝对值或第一像素差值的平方成递减函数关系。第一像素差值的绝对值或第一像素差值的平方越大,则测试像素点的权重越小,第一像素差值的绝对值或第一像素差值的平方越小,则测试像素点的权重越大。测试像素点的第一权重和第一相邻像素点的第一权重之和为1。

测试像素点的第一权重为α1,第一像素差值为δ1,则α1=f(δ1)=f(x[k]-x[k-1]),其中,f(δ1)为连续、光滑递减函数,x[k]为测试像素点k的像素值,x[k-1]为第一相邻像素点(k-1)的像素值。例如,α1=λ*e-c*δ*δ,其中,λ为归一化因子,c为控制强弱的因子。其中,σ为方差,取值可为1至255。λ取值是使得α1=f(δ1)=f(x[k]-x[k-1])的取值归一化到0至255之间。

步骤608,根据第一相邻像素点的第一权重和测试像素点的第一权重及对应的像素值得到各个测试像素点的第一像素值。

具体的,可将测试像素点的第一权重与测试像素点的像素值(即测试像素 点的原始像素值)的乘积,加上第一相邻像素点的第一权重与第一相邻像素点的像素值(即第一相邻像素点的原始像素值)的乘积所得的和作为更新后测试像素点的第一像素值,计算公式如(5)所示。

x1[k]=α1*x[k]+(1-α1)*x[k-1] (5)

其中,左边的x1[k]为更新后的测试像素点k的第一像素值,α1*x[k]中x[k]为更新前的测试像素点k的像素值,α1为测试像素点k的第一权重,x[k-1]为第一相邻像素点(k-1)的像素值,(1-α1)为第一相邻像素点(k-1)的第一权重。

步骤610,按行从第二方向求取各个测试像素点与第二相邻像素点的第二像素差值。

具体的,第二方向与第一方向相反。第二像素差值δ2=x[k]-x[k-1],k为第i行中的k个像素点。

步骤612,根据该第二像素差值得到第二相邻像素点的第二权重和测试像素点的第二权重。

具体的,测试像素点的第二权重与第二像素差值的绝对值或第二像素差值的平方成递减函数关系。第二像素差值的绝对值或第二像素差值的平方越大,则测试像素点的权重越小,第二像素差值的绝对值或第二像素差值的平方越小,则测试像素点的权重越大。测试像素点的第一权重和第一相邻像素点的第一权重之和为1。

测试像素点的第二权重为α2,第二像素差值为δ2,则α2=f(δ2)=f(x[k]-x[k-1]),其中,f(δ2)为连续、光滑递减函数,x[k]为测试像素点k的像素值,x[k-1]为第二相邻像素点(k-1)的像素值。例如,α2=λ*e-c*δ*δ,其中,λ为归一化因子,c为控制强弱的因子。其中,σ为方差,取值可为1至255。λ取值是使得α2=f(δ2)=f(x[k]-x[k-1])的取值归一化到0至255之间。

步骤614,根据第二相邻像素点的第二权重和测试像素点的第二权重及对应的像素值得到各个测试像素点的第二像素值。

具体的,可将测试像素点的第二权重与测试像素点的像素值(即测试像素点的原始像素值)的乘积,加上第二相邻像素点的第二权重与第二相邻像素点的像素值(即第二相邻像素点的原始像素值)的乘积所得的和作为更新后测试像素点的第二像素值,计算公式如(6)所示。

x2[k]=α2*x[k]+(1-α2)*x[k-1] (6)

其中,左边的x2[k]为更新后的测试像素点k的第二像素值,α2*x[k]中x[k]为更新前的测试像素点k的像素值,α2为测试像素点k的第二权重,x[k-1]为第二相邻像素点(k-1)的像素值,(1-α2)为第二相邻像素点(k-1)的第二权重。

步骤616,根据各个测试像素点的第一像素值和第二像素值得到对应的各个测试像素点更新后的像素值。

具体的,将第一像素值x1[k]和第二像素值x2[k]的平均值作为更新后的测试像素点的像素值。或者,将第一像素值和第二像素值的加权平均值作为更新后的测试像素点的像素值。

上述图像滤波的方法,通过对获取的一帧图像获取各个测试像素点,求取测试像素点与相邻像素点的像素差值,根据像素差值计算测试像素点和相邻像素点各自的权重,根据两像素点的权重及对应的像素值更新测试像素点的像素值,可快速对采集的每一帧图像基于自身的相邻像素点关系进行滤波处理,能实时对视频图像进行滤波处理,效率高,且根据第一方向计算得到的第一像素值和第二方向计算得到的第二像素值计算得到测试像素点的像素值,通过两次滤波,滤波效果好。

在一个实施例中,上述图像滤波的方法还包括:按列从一帧图像中获取测试像素点,并按列更新该测试像素点的像素值。

图8为一个实施例中按列更新测试像素点的像素值的具体流程图。如图8所示,按列从一帧图像中获取测试像素点,并按列更新该测试像素点的像素值,包括:

步骤802,按列从一帧图像中获取测试像素点。

具体的,一帧图像可看作为二维信号,该二维信号长度为Height,宽度为Width。按列从一帧图像中获取测试像素点,即将一帧图像按列切分,一共Width列,其中一列的一维信号x[1,2,…,Height][j],Height为该一维信号的长度,j为第j列,j为1、2、……、Width。

图9为一帧图像按行切分的示意图。如图9所示,将一帧图像按列切分,得到W行,每一行的长度为H,即每一行包括H个像素点。

步骤804,按列从第三方向求取各个测试像素点与第三相邻像素点的第三像素差值。

具体的,第三方向可为从上到下,或从下到上。第三像素差值δ3=x[n]-x[n-1,]n为第j列中的n个像素点。

步骤806,根据该第三像素差值得到第三相邻像素点的第三权重和测试像素点的第三权重。

具体的,测试像素点的第三权重与第三像素差值的绝对值或第三像素差值的平方成递减函数关系。第三像素差值的绝对值或第三像素差值的平方越大,则测试像素点的权重越小,第三像素差值的绝对值或第三像素差值的平方越小,则测试像素点的权重越大。测试像素点的第三权重和第三相邻像素点的第三权重之和为1。

测试像素点的第三权重为α3,第三像素差值为δ3,则α3=f(δ3)=f(x[n]-x[n-1]),其中,f(δ3)为连续、光滑递减函数,x[n]为测试像素点k的像素值,x[n-1]为第三相邻像素点(n-1)的像素值。例如,α3=λ*e-c*δ*δ,其中,λ为归一化因子,c为控制强弱的因子。其中,σ为方差,取值可为1至255。λ取值是使得α3=f(δ3)=f(x[n]-x[n-1])的取值归一化到0至255之间。

步骤808,根据第三相邻像素点的第三权重和测试像素点的第三权重及对应的像素值得到各个测试像素点的第三像素值。

具体的,可将测试像素点的第三权重与测试像素点的像素值(即测试像素 点的原始像素值)的乘积,加上第三相邻像素点的第三权重与第三相邻像素点的像素值(即第三相邻像素点的原始像素值)的乘积所得的和作为更新后测试像素点的第三像素值,计算公式如(7)所示。

x3[n]=α3*x[n]+(1-α3)*x[n-1] (7)

其中,左边的x3[n]为更新后的测试像素点k的第三像素值,α3*x[n]中x[n]为更新前的测试像素点k的像素值,α3为测试像素点k的第三权重,x[n-1]为第三相邻像素点(n-1)的像素值,(1-α3)为第三相邻像素点(n-1)的第三权重。

步骤810,按列从第四方向求取各个测试像素点与第四相邻像素点的第四像素差值。

具体的,第四方向与第三方向相反。第四像素差值δ4=x[n]-x[n-1],n为第j列中的n个像素点。

步骤812,根据该第四像素差值得到第四相邻像素点的第四权重和测试像素点的第四权重。

具体的,测试像素点的第四权重与第四像素差值的绝对值或第四像素差值的平方成递减函数关系。第四像素差值的绝对值或第四像素差值的平方越大,则测试像素点的权重越小,第四像素差值的绝对值或第四像素差值的平方越小,则测试像素点的权重越大。测试像素点的第四权重和第四相邻像素点的第四权重之和为1。

测试像素点的第四权重为α4,第四像素差值为δ4,则α4=f(δ4)=f(x[n]-x[n-1]),其中,f(δ4)为连续、光滑递减函数,x[n]为测试像素点k的像素值,x[n-1]为第四相邻像素点(n-1)的像素值。例如,α4=λ*e-c*δ*δ,其中,λ为归一化因子,c为控制强弱的因子。其中,σ为方差,取值可为1至255。λ取值是使得α4=f(δ4)=f(x[n]-x[n-1])的取值归一化到0至255之间。

步骤814,根据第四相邻像素点的第四权重和测试像素点的第四权重及对应的像素值得到各个测试像素点的第四像素值。

具体的,可将测试像素点的第四权重与测试像素点的像素值(即测试像素点的原始像素值)的乘积,加上第四相邻像素点的第四权重与第四相邻像素点的像素值(即第四相邻像素点的原始像素值)的乘积所得的和作为更新后测试像素点的第四像素值,计算公式如(8)所示。

x4[n]=α4*x[n]+(1-α4)*x[n-1] (8)

其中,左边的x4[n]为更新后的测试像素点k的第四像素值,α4*x[n]中x[n]为更新前的测试像素点k的像素值,α4为测试像素点k的第四权重,x[n-1]为第四相邻像素点(n-1)的像素值,(1-α4)为第四相邻像素点(n-1)的第四权重。

步骤816,根据各个测试像素点的第三像素值和第四像素值得到对应的各个测试像素点更新后的像素值。

具体的,将第三像素值x3[n]和第四像素值x4[n]的平均值作为更新后的测试像素点的像素值。或者,将第三像素值和第四像素值的加权平均值作为更新后的测试像素点的像素值。

上述图像滤波的方法,通过对获取的一帧图像获取各个测试像素点,求取测试像素点与相邻像素点的像素差值,根据像素差值计算测试像素点和相邻像素点各自的权重,根据两像素点的权重及对应的像素值更新测试像素点的像素值,可快速对采集的每一帧图像基于自身的相邻像素点关系进行滤波处理,能实时对视频图像进行滤波处理,效率高,且根据第三方向计算得到的第三像素值和第四方向计算得到的第四像素值计算得到测试像素点的像素值,通过两次滤波,滤波效果好。

在一个实施例中,上述图像滤波的方法还包括:先按行从一帧图像中获取测试像素点,并按行更新该测试像素点的像素值;将按行更新后的测试像素点的像素值,再按列更新该测试像素点的像素值。

具体的,先按照步骤602至616对一帧图像中的各个测试像素点的像素值更新后,再按照步骤802至816对按行更新后的一帧图像中的各个测试像素点的像素值按列进行更新。

在另一个实施例中,上述图像滤波的方法还包括:先按列从一帧图像中获取测试像素点,并按列更新该测试像素点的像素值;将按列更新后的测试像素点的像素值,再按行更新该测试像素点的像素值。

具体的,先按照步骤802至816对一帧图像中的各个测试像素点的像素值更新后,再按照步骤602至616对按列更新后的一帧图像中的各个测试像素点的像素值按行进行更新。

上述图像滤波的方法,通过对获取的一帧图像获取各个测试像素点,求取测试像素点与相邻像素点的像素差值,根据像素差值计算测试像素点和相邻像素点各自的权重,根据两像素点的权重及对应的像素值更新测试像素点的像素值,可快速对采集的每一帧图像基于自身的相邻像素点关系进行滤波处理,能实时对视频图像进行滤波处理,效率高,且按行对图像中像素点的像素值进行滤波后,再按列对图像中像素点的像素值进行滤波处理,通过多次滤波,滤波效果好。

图10为一个实施例中图像滤波的装置的结构框图。图10中的图像滤波的装置为对应于图3中图像滤波的方法所构建的虚拟功能模块,所构建的虚拟功能模块仅为了描述,但不限于此功能模块划分,图10中描述不详细的地方请参照图像滤波的中描述。如图10所示,一种图像滤波的装置,包括图像获取模块1010、像素点获取模块1020、像素差值求取模块1030、权重求取模块1040和更新模块1050。其中:

图像获取模块1010用于获取一帧图像。

具体的,终端上的摄像头等设备采集视频中一帧图像。

像素点获取模块1020用于从该一帧图像中获取测试像素点。

具体的,可按行或按列从一帧图像中任意选取测试像素点。

像素差值求取模块1030用于分别求取各个测试像素点与相邻像素点的像素差值。

本实施例中,按行或按列分别求取各个测试像素点与相邻像素点的像素差值。

具体的,按行可从第一方向或第二方向求取各个测试像素点与相邻像素点的像素差值。第一方向可为从左到右,第二方向可为从右到左,或者第一方向可为从右到左,第二方向可为从左到右。

例如,第一方向为从左到右,则按行从第一方向求取各个测试像素点与相邻像素点的像素差值时,测试像素点为a1,则选取该测试像素点左边或右边的相邻像素点a2,计算测试像素点a1与相邻像素点a2的像素差值。

第二方向为从右到左,则按行从第二方向求取各个测试像素点与相邻像素点的像素差值时,测试像素点为a1,则选取该测试像素点右边或左边的相邻像素点a2,计算测试像素点a1与相邻像素点a2的像素差值。

按列从第三方向或第四方向求取各个测试像素点与相邻像素点的像素差值。第三方向可为从上到下,第四方可为从下到上。或者,第三方向可为从下到上,第四方向可为从上到下。

例如第三方向为从上到下,则按列从第三方向求取各个测试像素点与相邻像素点的像素差值时,测试像素点为b1,则选取该测试像素点上边或下边的相邻像素点b2,计算测试像素点b1与相邻像素点b2的像素差值。

第四方向为从下到上,则按列从第四方向求取各个测试像素点与相邻像素点的像素差值时,测试像素点为b1,则选取该测试像素点上边或下边的相邻像素点b2,计算测试像素点a1与相邻像素点b2的像素差值。

权重求取模块1040用于根据该像素差值得到相邻像素点的权重和测试像素点的权重。

具体的,测试像素点的权重与像素差值的绝对值或像素差值的平方成递减函数关系。像素差值的绝对值或像素差值的平方越大,则测试像素点的权重越小,像素差值的绝对值或像素差值的平方越小,则测试像素点的权重越大。测试像素点的权重和相邻像素点的权重之和为1。

测试像素点的权重为α,像素差值为δ,则α=f(δ)=f(x[i]-x[i-1]),其中,f(δ)为连续、光滑递减函数,x[i]为测试像素点i的像素值,x[i-1]为相邻像素点(i-1)的像素值。例如,α=λ*e-c*δ*δ,其中,λ为归一化因子,c为控制强弱的因子。 其中,σ为方差,取值可为1至255。λ取值是使得α=f(δ)=f(x[i]-x[i-1])的取值归一化到0至255之间。

该测试像素点的权重与该像素差值的绝对值或像素差值的平方呈递减函数关系。

更新模块1050用于根据两像素点的权重及对应的像素值更新各个对应测试像素点的像素值。

具体的,可将测试像素点的权重与测试像素点的像素值的乘积,加上相邻像素点的权重与相邻像素点的像素值的乘积所得的和作为更新后测试像素点的像素值,计算公式如(4)所示。

x[i]=α*x[i]+(1-α)*x[i-1] (4)

其中,左边的x[i]为更新后的测试像素点i的像素值,α*x[i]中x[i]为更新前的测试像素点i的像素值,α为测试像素点i的权重,x[i-1]为相邻像素点(i-1)的像素值,(1-α)为相邻像素点(i-1)的权重。

上述图像滤波的装置,通过对获取的一帧图像获取各个测试像素点,求取测试像素点与相邻像素点的像素差值,根据像素差值计算测试像素点和相邻像素点各自的权重,根据两像素点的权重及对应的像素值更新测试像素点的像素值,可快速对采集的每一帧图像基于自身的相邻像素点关系进行滤波处理,能实时对视频图像进行滤波处理,效率高。

在一个实施例中,像素点获取模块1020还用于按行或按列从该一帧图像中获取测试像素点。

在一个实施例中,像素差值求取模块1020还用于按行或按列分别求取各个测试像素点与相邻像素点的像素差值。

在一个实施例中,更新模块1050还用于按行从一帧图像中获取测试像素点,并按行更新该测试像素点的像素值。

按行从一帧图像中获取测试像素点,并按行更新该测试像素点的像素值的过程包括:

像素点获取模块1020还用于按行从一帧图像中获取测试像素点。

具体的,一帧图像可看作为二维信号,该二维信号长度为Height,宽度为Width。按行从一帧图像中获取测试像素点,即将一帧图像按行切分,一共Height行,其中一行的一维信号x[i][1,2,…,Width],Width为该一维信号的长度,i为第i行,i为1、2、……、Height。

像素差值求取模块1030还用于按行从第一方向求取各个测试像素点与第一相邻像素点的第一像素差值。

具体的,第一方向可为从左到右,或从右到左。第一像素差值δ1=x[k]-x[k-1],k为第i行中的k个像素点。

权重求取模块1040还用于根据该第一像素差值得到第一相邻像素点的第一权重和测试像素点的第一权重。

具体的,测试像素点的第一权重与第一像素差值的绝对值或第一像素差值的平方成递减函数关系。第一像素差值的绝对值或第一像素差值的平方越大,则测试像素点的权重越小,第一像素差值的绝对值或第一像素差值的平方越小,则测试像素点的权重越大。测试像素点的第一权重和第一相邻像素点的第一权重之和为1。

测试像素点的第一权重为α1,第一像素差值为δ1,则α1=f(δ1)=f(x[k]-x[k-1]),其中,f(δ1)为连续、光滑递减函数,x[k]为测试像素点k的像素值,x[k-1]为第一相邻像素点(k-1)的像素值。例如,α1=λ*e-c*δ*δ,其中,λ为归一化因子,c为控制强弱的因子。其中,σ为方差,取值可为1至255。λ取值是使得α1=f(δ1)=f(x[k]-x[k-1])的取值归一化到0至255之间。

更新模块1050还用于根据第一相邻像素点的第一权重和测试像素点的第一权重及对应的像素值得到各个测试像素点的第一像素值。

具体的,可将测试像素点的第一权重与测试像素点的像素值(即测试像素点的原始像素值)的乘积,加上第一相邻像素点的第一权重与第一相邻像素点的像素值(即第一相邻像素点的原始像素值)的乘积所得的和作为更新后测试像素点的第一像素值,计算公式如(5)所示。

x1[k]=α1*x[k]+(1-α1)*x[k-1] (5)

其中,左边的x1[k]为更新后的测试像素点k的第一像素值,α1*x[k]中x[k]为更新前的测试像素点k的像素值,α1为测试像素点k的第一权重,x[k-1]为第一相邻像素点(k-1)的像素值,(1-α1)为第一相邻像素点(k-1)的第一权重。

像素点获取模块1020还用于按行从第二方向求取各个测试像素点与第二相邻像素点的第二像素差值。

具体的,第二方向与第一方向相反。第二像素差值δ2=x[k]-x[k-1],k为第i行中的k个像素点。

像素差值求取模块1030还用于根据该第二像素差值得到第二相邻像素点的第二权重和测试像素点的第二权重。

具体的,测试像素点的第二权重与第二像素差值的绝对值或第二像素差值的平方成递减函数关系。第二像素差值的绝对值或第二像素差值的平方越大,则测试像素点的权重越小,第二像素差值的绝对值或第二像素差值的平方越小,则测试像素点的权重越大。测试像素点的第一权重和第一相邻像素点的第一权重之和为1。

测试像素点的第二权重为α2,第二像素差值为δ2,则α2=f(δ2)=f(x[k]-x[k-1]),其中,f(δ2)为连续、光滑递减函数,x[k]为测试像素点k的像素值,x[k-1]为第二相邻像素点(k-1)的像素值。例如,α2=λ*e-c*δ*δ,其中,λ为归一化因子,c为控制强弱的因子。其中,σ为方差,取值可为1至255。λ取值是使得α2=f(δ2)=f(x[k]-x[k-1])的取值归一化到0至255之间。

权重求取模块1040还用于根据第二相邻像素点的第二权重和测试像素点的第二权重及对应的像素值得到各个测试像素点的第二像素值。

具体的,可将测试像素点的第二权重与测试像素点的像素值(即测试像素点的原始像素值)的乘积,加上第二相邻像素点的第二权重与第二相邻像素点的像素值(即第二相邻像素点的原始像素值)的乘积所得的和作为更新后测试像素点的第二像素值,计算公式如(6)所示。

x2[k]=α2*x[k]+(1-α2)*x[k-1] (6)

其中,左边的x2[k]为更新后的测试像素点k的第二像素值,α2*x[k]中x[k]为 更新前的测试像素点k的像素值,α2为测试像素点k的第二权重,x[k-1]为第二相邻像素点(k-1)的像素值,(1-α2)为第二相邻像素点(k-1)的第二权重。

更新模块1050还用于根据各个测试像素点的第一像素值和第二像素值得到对应的各个测试像素点更新后的像素值。

具体的,将第一像素值x1[k]和第二像素值x2[k]的平均值作为更新后的测试像素点的像素值。或者,将第一像素值和第二像素值的加权平均值作为更新后的测试像素点的像素值。

上述图像滤波的装置,通过对获取的一帧图像获取各个测试像素点,求取测试像素点与相邻像素点的像素差值,根据像素差值计算测试像素点和相邻像素点各自的权重,根据两像素点的权重及对应的像素值更新测试像素点的像素值,可快速对采集的每一帧图像基于自身的相邻像素点关系进行滤波处理,能实时对视频图像进行滤波处理,效率高,且根据第一方向计算得到的第一像素值和第二方向计算得到的第二像素值计算得到测试像素点的像素值,通过两次滤波,滤波效果好。

在一个实施例中,更新模块1050还用于按列从一帧图像中获取测试像素点,并按列更新该测试像素点的像素值。

本实施例中,像素点获取模块1020还用于按列从一帧图像中获取测试像素点。

具体的,一帧图像可看作为二维信号,该二维信号长度为Height,宽度为Width。按列从一帧图像中获取测试像素点,即将一帧图像按列切分,一共Width列,其中一列的一维信号x[1,2,…,Height][j],Height为该一维信号的长度,j为第j列,j为1、2、……、Width。

像素差值求取模块1030还用于按列从第三方向求取各个测试像素点与第三相邻像素点的第三像素差值。

具体的,第三方向可为从上到下,或从下到上。第三像素差值δ3=x[n]-x[n-1],n为第j列中的n个像素点。

权重求取模块1040还用于根据该第三像素差值得到第三相邻像素点的第三 权重和测试像素点的第三权重。

具体的,测试像素点的第三权重与第三像素差值的绝对值或第三像素差值的平方成递减函数关系。第三像素差值的绝对值或第三像素差值的平方越大,则测试像素点的权重越小,第三像素差值的绝对值或第三像素差值的平方越小,则测试像素点的权重越大。测试像素点的第三权重和第三相邻像素点的第三权重之和为1。

测试像素点的第三权重为α3,第三像素差值为δ3,则α3=f(δ3)=f(x[n]-x[n-1]),其中,f(δ3)为连续、光滑递减函数,x[n]为测试像素点k的像素值,x[n-1]为第三相邻像素点(n-1)的像素值。例如,α3=λ*e-c*δ*δ,其中,λ为归一化因子,c为控制强弱的因子。其中,σ为方差,取值可为1至255。λ取值是使得α3=f(δ3)=f(x[n]-x[n-1])的取值归一化到0至255之间。

更新模块1050还用于根据第三相邻像素点的第三权重和测试像素点的第三权重及对应的像素值得到各个测试像素点的第三像素值。

具体的,可将测试像素点的第三权重与测试像素点的像素值(即测试像素点的原始像素值)的乘积,加上第三相邻像素点的第三权重与第三相邻像素点的像素值(即第三相邻像素点的原始像素值)的乘积所得的和作为更新后测试像素点的第三像素值,计算公式如(7)所示。

x3[n]=α3*x[n]+(1-α3)*x[n-1] (7)

其中,左边的x3[n]为更新后的测试像素点k的第三像素值,α3*x[n]中x[n]为更新前的测试像素点k的像素值,α3为测试像素点k的第三权重,x[n-1]为第三相邻像素点(n-1)的像素值,(1-α3)为第三相邻像素点(n-1)的第三权重。

像素点获取模块1020还用于按列从第四方向求取各个测试像素点与第四相邻像素点的第四像素差值。

具体的,第四方向与第三方向相反。第四像素差值δ4=x[n]-x[n-1],n为第j列中的n个像素点。

像素差值求取模块1030还用于根据该第四像素差值得到第四相邻像素点的第四权重和测试像素点的第四权重。

具体的,测试像素点的第四权重与第四像素差值的绝对值或第四像素差值的平方成递减函数关系。第四像素差值的绝对值或第四像素差值的平方越大,则测试像素点的权重越小,第四像素差值的绝对值或第四像素差值的平方越小,则测试像素点的权重越大。测试像素点的第四权重和第四相邻像素点的第四权重之和为1。

测试像素点的第四权重为α4,第四像素差值为δ4,则α4=f(δ4)=f(x[n]-x[n-1]),其中,f(δ4)为连续、光滑递减函数,x[n]为测试像素点k的像素值,x[n-1]为第四相邻像素点(n-1)的像素值。例如,α4=λ*e-c*δ*δ,其中,λ为归一化因子,c为控制强弱的因子。其中,σ为方差,取值可为1至255。λ取值是使得α4=f(δ4)=f(x[n]-x[n-1])的取值归一化到0至255之间。

权重求取模块1040还用于根据第四相邻像素点的第四权重和测试像素点的第四权重及对应的像素值得到各个测试像素点的第四像素值。

具体的,可将测试像素点的第四权重与测试像素点的像素值(即测试像素点的原始像素值)的乘积,加上第四相邻像素点的第四权重与第四相邻像素点的像素值(即第四相邻像素点的原始像素值)的乘积所得的和作为更新后测试像素点的第四像素值,计算公式如(8)所示。

x4[n]=α4*x[n]+(1-α4)*x[n-1] (8)

其中,左边的x4[n]为更新后的测试像素点k的第四像素值,α4*x[n]中x[n]为更新前的测试像素点k的像素值,α4为测试像素点k的第四权重,x[n-1]为第四相邻像素点(n-1)的像素值,(1-α4)为第四相邻像素点(n-1)的第四权重。

更新模块1050还用于根据各个测试像素点的第三像素值和第四像素值得到对应的各个测试像素点更新后的像素值。

具体的,将第三像素值x3[n]和第四像素值x4[n]的平均值作为更新后的测试像素点的像素值。或者,将第三像素值和第四像素值的加权平均值作为更新后 的测试像素点的像素值。

上述图像滤波的装置,通过对获取的一帧图像获取各个测试像素点,求取测试像素点与相邻像素点的像素差值,根据像素差值计算测试像素点和相邻像素点各自的权重,根据两像素点的权重及对应的像素值更新测试像素点的像素值,可快速对采集的每一帧图像基于自身的相邻像素点关系进行滤波处理,能实时对视频图像进行滤波处理,效率高,且根据第三方向计算得到的第三像素值和第四方向计算得到的第四像素值计算得到测试像素点的像素值,通过两次滤波,滤波效果好。

在一个实施例中,更新模块1050还用于先按行从一帧图像中获取测试像素点,并按行更新该测试像素点的像素值,以及将按行更新后的测试像素点的像素值,再按列更新该测试像素点的像素值。

在另一个实施例中,更新模块1050还用于先按列从一帧图像中获取测试像素点,并按列更新该测试像素点的像素值,以及将按列更新后的测试像素点的像素值,再按行更新该测试像素点的像素值。

图11为使用图像滤波的方法滤波效果与其他软件滤波效果的对比图。如图10所示,利用上述图像滤波的方法对图像进行滤波,消除人脸皮肤部分的斑点、瑕疵和杂色等,为人物脸部磨皮,能够使得人物脸部更加细腻,轮廓更加清晰。

图12为优化后的Neon相对于C代码提升百分比对比示意图。如图12所示,提供了不同的机型、不同处理器(型号和主频等不同)的优化后的Neon相对于C代码提升百分比的对比,同时提供了同一机型上不同分辨率情况下优化后的Neon相对于C代码提升百分比的对比。从图12中可知,在主频为800MHz(兆赫兹)下,优化后的Neon相对于C代码提升百分比较为明显,主频越高提升百分比效果降低。图12中,1代表320x240分辨率,2代表480x360分辨率,3代表640x480分辨率,4代表960x540分辨率,5代表1280x720分辨率,处理器分别为A4@800MHz、A5@800MHz、A6@1.3GHz(吉赫兹)、A7@1.3GHz、A8@1.4GHz。Neon技术用于加速多媒体和信号处理算法(如视频编码/解码、 2D/3D图形、游戏、音频和语音处理、图像处理技术、电话和声音合成)。

图13为针对不同分辨率优化前后帧率提升对比示意图。如图13,21为优化前帧率,22表示优化后帧率,从图中可知,分辨率越低,优化后帧率提升效果越好。分辨率可为320x240、480x360、640x480、960x540、1280x720。纵坐标为帧率。

图14为本发明的图像滤波的方法和BEEPS算法运行每秒帧率数对比示意图。如图14所示,本发明的图像滤波的方法每秒运行帧率数明显高于BEEPS(边缘保留)算法。图14中对比了分辨率为320x240、480x360、640x480下的每秒帧率数,31代表本发明的图像滤波的方法的每秒运行帧率数,32代表BEEPS算法的每秒运行帧率数。纵坐标为帧率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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