一种滤镜处理的方法及装置.pdf

上传人:奻奴 文档编号:5779075 上传时间:2019-03-18 格式:PDF 页数:18 大小:661.10KB
返回 下载 相关 举报
摘要
申请专利号:

CN201210124312.4

申请日:

2012.04.25

公开号:

CN103377463A

公开日:

2013.10.30

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06T 5/00申请日:20120425|||公开

IPC分类号:

G06T5/00

主分类号:

G06T5/00

申请人:

腾讯科技(深圳)有限公司

发明人:

姜德强

地址:

518000 广东省深圳市福田区赛格科技园2栋东403室

优先权:

专利代理机构:

北京三高永信知识产权代理有限责任公司 11138

代理人:

刘映东

PDF下载: PDF下载
内容摘要

本发明公开了一种滤镜处理的方法及装置,属于图像处理领域。所述方法包括:获取图像;根据预设的卷积半径R确定第一卷积模板和第二卷积模板,第一卷积模板和所述第二卷积模板中的矩阵元素均为K;根据第一卷积模板对图像的像素点bi,1进行水平方向的卷积运算,得到第一卷积和;根据第一卷积和计算第i行除bi,1之外的其他像素点的卷积和,生成第一图像;根据第二卷积模板对第一图像的像素点A1,j进行垂直方向的卷积运算,得到第二卷积和;根据第二卷积和计算第j列除A1,j之外的其他像素点的卷积和,生成第二图像;根据第二图像和预设的卷积半径R得到滤镜处理后的图像。本发明降低了卷积过程中的冗余计算。

权利要求书

权利要求书
1.  一种滤镜处理的方法,其特征在于,包括:
获取图像;
根据预设的卷积半径R确定第一卷积模板和第二卷积模板,所述第一卷积模板为1*(2R+1)的矩阵,所述第二卷积模板为(2R+1)*1的矩阵,所述第一卷积模板和所述第二卷积模板中的矩阵元素均为K,其中R和K均为自然数;
根据所述第一卷积模板对所述图像的第i行第1列的像素点bi,1进行水平方向的卷积运算,得到第一卷积和,其中i=1,2,、、、,N,N为所述图像对应的矩阵的最大行数;
根据所述第一卷积和计算第i行除所述bi,1之外的其他像素点的卷积和,生成第一图像;
根据所述第二卷积模板对所述第一图像的第1行第j列的像素点A1,j进行垂直方向的卷积运算,得到第二卷积和,其中j=1,2,、、、,M,M为所述第一图像对应的矩阵的最大列数;
根据所述第二卷积和计算第j列除所述A1,j之外的其他像素点的卷积和,生成第二图像;
根据所述第二图像和所述预设的卷积半径R得到滤镜处理后的图像。

2.  根据权利要求1所述的方法,其特征在于,所述根据所述第一卷积和计算第i行除所述bi,1之外的其他像素点的卷积和包括:
按照公式分别计算第i行除所述bi,1之外的其他像素点的卷积和,其中,当(j1-R)<1时,当M>(j1-R)≥1时,为所述图像的第i行第(j1-R)列的像素点;当(j1+R+1)≤M时,当(j1+R+1)>M时,Ai,1为第一卷积和,为第i行第j1列的像素点的卷积和,为第i行第(j1+1)列的像素点的卷积和;j1=1,2,、、、,M-1。

3.  根据权利要求1所述的方法,其特征在于,所述根据所述第二卷积和计算第j列除所述A1,j之外的其他像素点的卷积和包括:
按照公式分别计算第j列除所述A1,j之外的其他像素点的卷积和,其中,当(i1-R)<1时,当N>(i1-R)≥1时,为所第一图像的第(i1-R)行第j列的像素点;当(i1+R+1)≤N时,当(i1+R+1)>N时,A′1,j为第二卷积和,为第i1行第j列的像素点的卷积和,为第(i1+1)行第j列的像素点的卷积和;i1=1,2,、、、,N-1。

4.  根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述第一卷积模板对所述图像的第i行第1列的像素点bi,1进行水平方向的卷积运算包括:
获取所述第一卷积模板的卷积中心C1,R+1,其中,所述C1,R+1为所述第一卷积模板的第1行第(R+1)列的元素;
将所述第一卷积模板覆盖在所述图像对应的像素矩阵上,使所述卷积中心C1,R+1与所述图像的第i行第1列的像素点bi,1重叠;
获取所述覆盖后的第一卷积模板与所述图像对应的像素矩阵的第一重叠区域,对所述第一重叠区域进行卷积运算。

5.  根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述第二卷积模板对所述第一图像的第1行第j列的像素点A1,j进行垂直方向的卷积运算包括:
获取所述第二卷积模板的卷积中心C′R+1,1,其中,所述C′R+1,1为所述第二卷积模板的第(R+1)行第1列的元素;
将所述第二卷积模板覆盖在所述第一图像对应的像素矩阵上,使所述卷积中心C′R+1,1与所述第一图像的第1行第j列的像素点A1,j重叠;
获取所述覆盖后的第二卷积模板与第一图像对应的像素矩阵的第二重叠区域,对所述第二重叠区域进行卷积运算。

6.  根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述第二图像和所述预设的卷积半径R得到滤镜处理后的图像包括:
将所述第二图像的各个像素点均除以所述矩阵元素K,得到滤镜处理后的图像。

7.  一种滤镜处理的装置,其特征在于,包括:
获取模块,用于获取图像;
模板确定模块,用于根据预设的卷积半径R确定第一卷积模板和第二卷积模板,所述第一卷积模板为1*(2R+1)的矩阵,所述第二卷积模板为(2R+1)*1的矩阵,所述第一卷积模板和所述第二卷积模板中的矩阵元素均为K,其中R和K均为自然数;
水平卷积模块,用于根据所述第一卷积模板对所述图像的第i行第1列的像素点bi,1进行水平方向的卷积运算,得到第一卷积和,其中i=1,2,、、、,N,N为所述图像对应的矩阵的最 大行数;
第一图像生成模块,用于根据所述第一卷积和计算第i行除所述bi,1之外的其他像素点的卷积和,生成第一图像;
垂直卷积模块,用于根据所述第二卷积模板对所述第一图像的第1行第j列的像素点A1,j进行垂直方向的卷积运算,得到第二卷积和,其中j=1,2,、、、,M,M为所述第一图像对应的矩阵的最大列数;
第二图像生成模块,用于根据所述第二卷积和计算第j列除所述A1,j之外的其他像素点的卷积和,生成第二图像;
处理模块,用于根据所述第二图像和所述预设的卷积半径R得到滤镜处理后的图像。

8.  根据权利要求7所述的装置,其特征在于,所述第一图像生成模块包括:
第一计算单元,用于按照公式分别计算第i行除所述bi,1之外的其他像素点的卷积和,其中,当(j1-R)<1时,当M>(j1-R)≥1时,为所述图像的第i行第(j1-R)列的像素点;当(j1+R+1)≤M时,当(j1+R+1)>M时,Ai,1为第一卷积和,为第i行第j1列的像素点的卷积和,为第i行第(j1+1)列的像素点的卷积和;j1=1,2,、、、,M-1。

9.  根据权利要求7所述的装置,其特征在于,所述第二图像生成模块包括:
第二计算单元,用于按照公式分别计算第j列除所述A1,j之外的其他像素点的卷积和,其中,当(i1-R)<1时,当N>(i1-R)≥1时,为所第一图像的第(i1-R)行第j列的像素点;当(i1+R+1)≤N时,当(i1+R+1)>N时,A′1,j为第二卷积和,为第i1行第j列的像素点的卷积和,为第(i1+1)行第j列的像素点的卷积和;i1=1,2,、、、,N-1。

10.  根据权利要求7-9任一项所述的装置,其特征在于,所述水平卷积模块包括:
第一获取单元,用于获取所述第一卷积模板的卷积中心C1,R+1,其中,所述C1,R+1为所述第一卷积模板的第1行第(R+1)列的元素;
第一覆盖单元,用于将所述第一卷积模板覆盖在所述图像对应的像素矩阵上,使所述卷 积中心C1,R+1与所述图像的第i行第1列的像素点bi,1重叠;
第一计算单元,用于获取所述覆盖后的第一卷积模板与所述图像对应的像素矩阵的第一重叠区域,对所述第一重叠区域进行卷积运算。

11.  根据权利要求7-9任一项所述的装置,其特征在于,所述垂直卷积模块包括:
第二获取单元,用于获取所述第二卷积模板的卷积中心C′R+1,1,其中,所述C′R+1,1为所述第二卷积模板的第(R+1)行第1列的元素;
第二覆盖单元,用于将所述第二卷积模板覆盖在所述第一图像对应的像素矩阵上,使所述卷积中心C′R+1,1与所述第一图像的第1行第j列的像素点A1,j重叠;
第二计算单元,用于获取所述覆盖后的第二卷积模板与第一图像对应的像素矩阵的第二重叠区域,对所述第二重叠区域进行卷积运算。

12.  根据权利要求7-9任一项所述的装置,其特征在于,所述处理模块包括:
第三计算单元,用于将所述第二图像的各个像素点均除以所述矩阵元素K,得到滤镜处理后的图像。

说明书

说明书一种滤镜处理的方法及装置
技术领域
本发明涉及图像处理领域,特别涉及一种滤镜处理的方法及装置。
背景技术
滤镜在图像处理中的使用是非常灵活的,熟练地使用滤镜可以实现图像的特殊表现效果,增强图像的表现能力。
现有滤镜处理图像时的卷积方式就是定义图像f(x),卷积模板是g(x),然后将卷积模版g(x)在图像f(x)中移动,每移动到一个位置,即一个像素点,就把f(x)与g(x)的定义域相交的元素进行乘积并且求和,得出一个新的像素点,把新得到的像素集合起来就是卷积后的图像,即滤镜处理后的图像。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:在相邻像素点的卷积过程中会存在重叠区域的卷积,使得卷积过程的冗余计算增多,降低了滤镜生成效率。
发明内容
为了降低卷积过程中的冗余计算,提高滤镜生成效率,本发明实施例提供了一种滤镜处理的方法及装置。所述技术方案如下:
一方面,提供了一种滤镜处理的方法,包括:
获取图像;
根据预设的卷积半径R确定第一卷积模板和第二卷积模板,所述第一卷积模板为1*(2R+1)的矩阵,所述第二卷积模板为(2R+1)*1的矩阵,所述第一卷积模板和所述第二卷积模板中的矩阵元素均为K,其中R和K均为自然数;
根据所述第一卷积模板对所述图像的第i行第1列的像素点bi,1进行水平方向的卷积运算,得到第一卷积和,其中i=1,2,、、、,N,N为所述图像对应的矩阵的最大行数;
根据所述第一卷积和计算第i行除所述bi,1之外的其他像素点的卷积和,生成第一图像;
根据所述第二卷积模板对所述第一图像的第1行第j列的像素点A1,j进行垂直方向的卷积运算,得到第二卷积和,其中j=1,2,、、、,M,M为所述第一图像对应的矩阵的最大列数;
根据所述第二卷积和计算第j列除所述A1,j之外的其他像素点的卷积和,生成第二图像;
根据所述第二图像和所述预设的卷积半径R得到滤镜处理后的图像。
另一方面,提供了一种滤镜处理的装置,包括:
获取模块,用于获取图像;
模板确定模块,用于根据预设的卷积半径R确定第一卷积模板和第二卷积模板,所述第一卷积模板为1*(2R+1)的矩阵,所述第二卷积模板为(2R+1)*1的矩阵,所述第一卷积模板和所述第二卷积模板中的矩阵元素均为K,其中R和K均为自然数;
水平卷积模块,用于根据所述第一卷积模板对所述图像的第i行第1列的像素点bi,1进行水平方向的卷积运算,得到第一卷积和,其中i=1,2,、、、,N,N为所述图像对应的矩阵的最大行数;
第一图像生成模块,用于根据所述第一卷积和计算第i行除所述bi,1之外的其他像素点的卷积和,生成第一图像;
垂直卷积模块,用于根据所述第二卷积模板对所述第一图像的第1行第j列的像素点A1,j进行垂直方向的卷积运算,得到第二卷积和,其中j=1,2,、、、,M,M为所述第一图像对应的矩阵的最大列数;
第二图像生成模块,用于根据所述第二卷积和计算第j列除所述A1,j之外的其他像素点的卷积和,生成第二图像;
处理模块,用于根据所述第二图像和所述预设的卷积半径R得到滤镜处理后的图像。
本发明实施例提供的技术方案带来的有益效果是:通过当第一卷积模板和第二卷积模板的元素均相同时,通过第一卷积模块对所述图像的每行第1列的像素点bi,1进行水平方向的卷积运算,得到第一卷积和,再根据第一卷积和分别计算bi,1所在行除bi,1之外的其他像素点的卷积和,同理,可以根据第二卷积模板对所述第一图像的每列第1行的像素点A1,j进行垂直方向的卷积运算,得到第二卷积和,再根据第二卷积和分别计算A1,j所在列除A1,j之外的其他像素点的卷积和,也就是说水平方向和垂直方向的卷积运算均利用了已经计算出来的卷积和来实现后续相邻像素点卷积和的计算,避免了相邻像素点的卷积过程中对重叠区域的卷积运算,降低了卷积过程中的冗余计算,提高了滤镜生成效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域 普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1提供的一种滤镜处理的方法实施例的流程图;
图2是本发明实施例2提供的一种滤镜处理的方法实施例的流程图;
图3是本发明实施例3提供的一种滤镜处理的装置实施例的第一结构示意图;
图4是本发明实施例3提供的一种滤镜处理的装置实施例的第二结构示意图;
图5是本发明实施例3提供的一种滤镜处理的装置实施例的第三结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
参考图1,图1是本发明实施例1提供的一种滤镜处理的方法实施例的流程图;所述滤镜处理的方法包括:
S101:获取图像。
S102:根据预设的卷积半径R确定第一卷积模板和第二卷积模板,所述第一卷积模板为1*(2R+1)的矩阵,所述第二卷积模板为(2R+1)*1的矩阵,所述第一卷积模板和所述第二卷积模板中的矩阵元素均为K,其中R和K均为自然数。
S103:根据所述第一卷积模板对所述图像的第i行第1列的像素点bi,1进行水平方向的卷积运算,得到第一卷积和,其中i=1,2,、、、,N,N为所述图像对应的矩阵的最大行数。
S104:根据所述第一卷积和计算第i行除所述bi,1之外的其他像素点的卷积和,生成第一图像。
S105:根据所述第二卷积模板对所述第一图像的第1行第j列的像素点A1,j进行垂直方向的卷积运算,得到第二卷积和,其中j=1,2,、、、,M,M为所述第一图像对应的矩阵的最大列数。
S106:根据所述第二卷积和计算第j列除所述A1,j之外的其他像素点的卷积和,生成第二图像。
S107:根据所述第二图像和所述预设的卷积半径R得到滤镜处理后的图像。
本实施例中,当第一卷积模板和第二卷积模板的元素均相同时,通过第一卷积模块对所述图像的每行第1列的像素点bi,1进行水平方向的卷积运算,得到第一卷积和,再根据第一卷积和分别计算bi,1所在行除bi,1之外的其他像素点的卷积和,同理,可以根据第二卷积模板对所 述第一图像的每列第1行的像素点A1,j进行垂直方向的卷积运算,得到第二卷积和,再根据第二卷积和分别计算A1,j所在列除A1,j之外的其他像素点的卷积和,也就是说水平方向和垂直方向的卷积运算均利用了已经计算出来的卷积和来实现后续相邻像素点卷积和的计算,避免了相邻像素点的卷积过程中对重叠区域的卷积运算,降低了卷积过程中的冗余计算,提高了滤镜生成效率。
实施例2
参考图2,图2是本发明实施例2提供的一种滤镜处理的方法实施例的流程图;本实施例中所设计的卷积操作就是滤镜操作,不同的滤镜可能对应不同的卷积模板;其中滤镜是图像处理的处理效果,其在数学上是用卷积的方式实现的,也就是说滤镜是结果,卷积是实现方式。
所述滤镜处理的方法包括:
S201:获取图像。
本实施例所涉及的图像f(x)可以是一张张的图片,该图像f(x)上的像素点对应着图像f(x)的像素矩阵。
S202:根据预设的卷积半径R确定第一卷积模板和第二卷积模板。
本实施例中涉及的预设的卷积半径R为自然数,可以根据所述预设的卷积半径R来确定第一卷积模板和第二卷积模板,具体地,所述第一卷积模板为1*(2R+1)的矩阵,其中所述第一卷积模板用于水平方向的卷积运算;所述第二卷积模板为(2R+1)*1的矩阵,其中所述第二卷积模板用于垂直方向的卷积运算。所述第一卷积模板和所述第二卷积模板的元素均为K,其中K为自然数;优选的,所述第一卷积模板和所述第二卷积模板均为全1矩阵,即K=1。
例如,当R=1时,K=1时,所述第一卷积模板为[1,1,1],所述第二卷积模板为111.]]>
S203:根据所述第一卷积模板对所述图像的第i行第1列的像素点bi,1进行水平方向的卷积运算,得到第一卷积和。
此步骤中,具体地,获取所述第一卷积模板的卷积中心C1,R+1,其中,所述C1,R+1为所述第一卷积模板的第1行第(R+1)列的元素;将所述第一卷积模板覆盖在所述图像对应的像素矩阵上,使所述卷积中心C1,R+1与所述图像的第i行第1列的像素点bi,1重叠,其中i=1,2,、、、,N,N为所述图像对应的矩阵的最大行数;获取所述覆盖后的第一卷积模板与所述图像对应的像素矩阵的第一重叠区域,对所述第一重叠区域进行卷积运算,得到第一卷积和。
例如,当所述第一卷积模板为[1,1,1],所述图像对应的像素矩阵为a1,a2,a3,a4b1,b2,b3,b4c1,c2,c3,c4d1,d2,d3,d4]]>时,计算第1行第1列的像素点b1,1的第一卷积和A1,1的过程为:获取所述第一卷积模板的卷积中心C1,2;将所述第一卷积模板覆盖在所述图像对应的像素矩阵上,使所述第一卷积模板的卷积中心C1,2与所述图像的像素点b1,1重叠,此时所述第一卷积模板的C1,3与所述图像的像素点b1,2也重叠;获取所述覆盖后的第一卷积模板与所述图像对应的像素矩阵的第一重叠区域,对所述第一重叠区域进行卷积运算,即计算第一重叠区域对应元素的乘积和,如下所示:
A1,1=C1,2*b1,1+C1,3*b1,2=1*a1+1*a2=a1+a2
对于其他行第1列像素点的第一卷积和也按照上述方法进行计算,在此不再赘述。
S204:根据所述第一卷积和计算第i行除所述bi,1之外的其他像素点的卷积和,生成第一图像。
此步骤中,具体地,按照公式分别计算第i行除所述bi,1之外的其他像素点的卷积和,其中Ai,1为第一卷积和,为第i行第j1列的像素点的卷积和,为第i行第(j1+1)列的像素点的卷积和,j1=1,2,、、、,M-1。
也就是说对于第1行而言,根据第一卷积和A1,1,按照公式计算A1,2;再根据A1,2,按照公式计算A1,3;按照上述方法依次计算第1行后续其他像素点的卷积和;同理可以按照上述方法依次计算除第1行之外的其他行的像素点的卷积和,直至所述图像的全部像素点的卷积和计算完毕,生成第一图像,其中所述第一图像为A1,1,A1,2,A1,3,A1,4A2,1,A2,2,A2,3,A2,4A3,1,A3,2,A3,3,A3,4A4,1,A4,2,A4,3,A4,4.]]>
其中,当(j1-R)<1时,当M>(j1-R)≥1时,为所述图像的第i行第(j1-R)列的像素点;当(j1+R+1)≤M时,当(j1+R+1)>M时,
例如,当所述第一卷积模板为[1,1,1],所述图像对应的像素矩阵为a1,a2,a3,a4b1,b2,b3,b4c1,c2,c3,c4d1,d2,d3,d4,]]> A1,1=a1+a2时,计算第1行除b1,1之外的其他像素点的卷积和的过程为:
A1,2=A1,1-B1,0+B1,3=a1+a2-0+a3=a1+a2+a3
A1,3=A1,2-B1,1+B1,4=a1+a2+a3-a1+a4=a2+a3+a4
A1,4=A1,3-B1,2+B1,5=a2+a3+a4-a2+0=a3+a4
对于其他行而言,也按照上述方法计算所述图像对应的像素矩阵中每行中除第1列之外的其他像素点的卷积和,在此不再赘述。
S205:根据所述第二卷积模板对所述第一图像的第1行第j列的像素点A1,j进行垂直方向的卷积运算,得到第二卷积和。
此步骤中,具体地,获取所述第二卷积模板的卷积中心C′R+1,1,其中,所述C′R+1,1为所述第二卷积模板的第(R+1)行第1列的元素;将所述第二卷积模板覆盖在所述第一图像对应的像素矩阵上,使所述卷积中心C′R+1,1与所述第一图像的第1行第j列的像素点A1,j重叠,其中j=1,2,、、、,M,M为所述第一图像对应的矩阵的最大列数;获取所述覆盖后的第二卷积模板与第一图像对应的像素矩阵的第二重叠区域,对所述第二重叠区域进行卷积运算,得到第二卷积和。
例如,当所述第二卷积模板为111,]]>所述第一图像对应的像素矩阵为A1,1,A1,2,A1,3,A1,4A2,1,A2,2,A2,3,A2,4A3,1,A3,2,A3,3,A3,4A4,1,A4,2,A4,3,A4,4]]>时,计算第1列第1行的像素点A1,1的第二卷积和A′1,1的过程为:获取所述第二卷积模板的卷积中心C′2,1,将所述第二卷积模板覆盖在所述第一图像对应的像素矩阵上,使所述第二卷积模板的卷积中心C′2,1与所述第一图像的像素点A1,1重叠,此时所述第二卷积模板的C′3,1与所述第一图像的像素点A2,1也重叠;获取所述覆盖后的第二卷积模板与所述第一图像对应的像素矩阵的第二重叠区域,对所述第二重叠区域进行卷积运算,即计算第二重叠区域对应元素的乘积和,如下所示:
A′1,1=C′2,1*A1,1+C′3,1*A2,1=A1,1+A2,1
对于其他列第1行像素点的第二卷积和也按照上述方法进行计算,在此不再赘述。
S206:根据所述第二卷积和计算第j列除所述A1,j之外的其他像素点的卷积和,生成第二图像,根据所述第二图像和所述预设的卷积半径R得到滤镜处理后的图像。
此步骤中,具体地,按照公式分别计算第j列除所述A1,j之外 的其他像素点的卷积和,其中A′1,j为第二卷积和,为第i1行第j列的像素点的卷积和,为第(i1+1)行第j列的像素点的卷积和;i1=1,2,、、、,N-1
也就是说对于第1列而言,根据第二卷积和A′1,1,按照公式计算A′2,1;再根据A′2,1,按照公式计算A′3,1;按照上述方法以此计算第1列后续其他像素点的卷积和;同理可以按照上述方法依次计算除第1列之外的其他列的像素点的卷积和,直至所述第一图像的全部像素点的卷积和计算完毕,生成第二图像,其中所述第二图像为A1,1,A1,2,A1,3A1,4A2,1,A2,2,A2,3,A2,4A3,1,A3,2,A3,3,A3,4A4,1,A4,2,A4,3,A4,4.]]>
其中,当(i1-R)<1时,当N>(i1-R)≥1时,为所第一图像的第(i1-R)行第j列的像素点;当(i1+R+1)≤N时,当(i1+R+1)>N时,
例如,当所述第二卷积模板为111,]]>所述第一图像对应的像素矩阵为A1,1,A1,2,A1,3,A1,4A2,1,A2,2,A2,3,A2,4A3,1,A3,2,A3,3,A3,4A4,1,A4,2,A4,3,A4,4,]]>A′1,1=A1,1+A2,1时,计算第1列除A1,1之外的其他像素点的卷积和的过程为:
A′2,1=A′1,1-B0,1+B3,1=A1,1+A2,1-0+A3,1=A1,1+A2,1+A3,1
A′3,1=A′2,1-B1,1+B4,1=A1,1+A2,1+A3,1-A1,1+A4,1=A2,1+A3,1+A4,1
A′4,1=A′3,1-B2,1+B5,1=A2,1+A3,1+A4,1-A2,1+0=A3,1+A4,1
对于其他列而言,页按照上述方法计算所述第一图像对应的像素矩阵中每列中除第1行之外的其他像素点的卷积和,在此不再赘述。
得到所述第二图像后,对第二图像对应的像素矩阵中的各个像素点均处以所述矩阵元素K,得到滤镜处理后的图像;如果K=1,即所述第一卷积模板和所述第二卷积模板均为全1矩阵,则所述第二图像即为滤镜处理后的图像。
对于所述图像对应的像素矩阵的行数和列数均很大时,可以先对像素矩阵进行分块处理,然后再对各个块按照S202-S206并行进行处理。
本实施例中,当第一卷积模板和第二卷积模板的元素均相同时,通过第一卷积模块对所 述图像的每行第1列的像素点bi,1进行水平方向的卷积运算,得到第一卷积和,再根据第一卷积和分别计算bi,1所在行除bi,1之外的其他像素点的卷积和,同理,可以根据第二卷积模板对所述第一图像的每列第1行的像素点A1,j进行垂直方向的卷积运算,得到第二卷积和,再根据第二卷积和分别计算A1,j所在列除A1,j之外的其他像素点的卷积和,也就是说水平方向和垂直方向的卷积运算均利用了已经计算出来的卷积和来实现后续相邻像素点卷积和的计算,避免了相邻像素点的卷积过程中对重叠区域的卷积运算,降低了卷积过程中的冗余计算,提高了滤镜生成效率。
实施例3
参考图3,图3是本发明实施例3提供的一种滤镜处理的装置实施例的第一结构示意图;
所述滤镜处理装置包括:
获取模块301,用于获取图像。
模板确定模块302,用于根据预设的卷积半径R确定第一卷积模板和第二卷积模板,所述第一卷积模板为1*(2R+1)的矩阵,所述第二卷积模板为(2R+1)*1的矩阵,所述第一卷积模板和所述第二卷积模板中的矩阵元素均为K,其中R和K均为自然数。
水平卷积模块303,用于根据所述第一卷积模板对所述图像的第i行第1列的像素点bi,1进行水平方向的卷积运算,得到第一卷积和,其中i=1,2,、、、,N,N为所述图像对应的矩阵的最大行数。
第一图像生成模块304,用于根据所述第一卷积和计算第i行除所述bi,1之外的其他像素点的卷积和,生成第一图像。
垂直卷积模块305,用于根据所述第二卷积模板对所述第一图像的第1行第j列的像素点A1,j进行垂直方向的卷积运算,得到第二卷积和,其中j=1,2,、、、,M,M为所述第一图像对应的矩阵的最大列数。
第二图像生成模块306,用于根据所述第二卷积和计算第j列除所述A1,j之外的其他像素点的卷积和,生成第二图像。
处理模块307,用于根据所述第二图像和所述预设的卷积半径R得到滤镜处理后的图像。
在一种实施方式中,所述第一图像生成模块304包括:第一计算单元3041,如图4所示,图4是本发明实施例3提供的一种滤镜处理的装置实施例的第二结构示意图;
所述第一计算单元3041,用于按照公式分别计算第i行除所 述bi,1之外的其他像素点的卷积和,其中,当(j1-R)<1时,当M>(j1-R)≥1时,为所述图像的第i行第(j1-R)列的像素点;当(j1+R+1)≤M时,当(j1+R+1)>M时,Ai,1为第一卷积和,为第i行第j1列的像素点的卷积和,为第i行第(j1+1)列的像素点的卷积和;j1=1,2,、、、,M-1。
在另一种实施方式中,所述第二图像生成模块306包括:第二计算单元3061,如图5所示,图5是本发明实施例3提供的一种滤镜处理的装置实施例的第三结构示意图;
所述第二计算单元3061,用于按照公式分别计算第j列除所述A1,j之外的其他像素点的卷积和,其中,当(i1-R)<1时,当N>(i1-R)≥1时,为所第一图像的第(i1-R)行第j列的像素点;当(i1+R+1)≤N时,当(i1+R+1)>N时,A′1,j为第二卷积和,为第i1行第j列的像素点的卷积和,为第(i1+1)行第j列的像素点的卷积和;i1=1,2,、、、,N-1。
在上述实施方式的基础上,所述水平卷积模块303包括:
第一获取单元,用于获取所述第一卷积模板的卷积中心C1,R+1,其中,所述C1,R+1为所述第一卷积模板的第1行第(R+1)列的元素。
第一覆盖单元,用于将所述第一卷积模板覆盖在所述图像对应的像素矩阵上,使所述卷积中心C1,R+1与所述图像的第i行第1列的像素点bi,1重叠。
第一计算单元,用于获取所述覆盖后的第一卷积模板与所述图像对应的像素矩阵的第一重叠区域,对所述第一重叠区域进行卷积运算。
所述垂直卷积模块305包括:
第二获取单元,用于获取所述第二卷积模板的卷积中心C′R+1,1,其中,所述C′R+1,1为所述第二卷积模板的第(R+1)行第1列的元素。
第二覆盖单元,用于将所述第二卷积模板覆盖在所述第一图像对应的像素矩阵上,使所述卷积中心C′R+1,1与所述第一图像的第1行第j列的像素点A1,j重叠。
第二计算单元,用于获取所述覆盖后的第二卷积模板与第一图像对应的像素矩阵的第二重叠区域,对所述第二重叠区域进行卷积运算。
所述处理模块307包括:
第三计算单元,用于将所述第二图像的各个像素点均除以所述矩阵元素K,得到滤镜处 理后的图像。
本实施例中,当第一卷积模板和第二卷积模板的元素均相同时,通过第一卷积模块对所述图像的每行第1列的像素点bi,1进行水平方向的卷积运算,得到第一卷积和,再根据第一卷积和分别计算bi,1所在行除bi,1之外的其他像素点的卷积和,同理,可以根据第二卷积模板对所述第一图像的每列第1行的像素点A1,j进行垂直方向的卷积运算,得到第二卷积和,再根据第二卷积和分别计算A1,j所在列除A1,j之外的其他像素点的卷积和,也就是说水平方向和垂直方向的卷积运算均利用了已经计算出来的卷积和来实现后续相邻像素点卷积和的计算,避免了相邻像素点的卷积过程中对重叠区域的卷积运算,降低了卷积过程中的冗余计算,提高了滤镜生成效率。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

一种滤镜处理的方法及装置.pdf_第1页
第1页 / 共18页
一种滤镜处理的方法及装置.pdf_第2页
第2页 / 共18页
一种滤镜处理的方法及装置.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《一种滤镜处理的方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种滤镜处理的方法及装置.pdf(18页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103377463 A (43)申请公布日 2013.10.30 CN 103377463 A *CN103377463A* (21)申请号 201210124312.4 (22)申请日 2012.04.25 G06T 5/00(2006.01) (71)申请人 腾讯科技 (深圳) 有限公司 地址 518000 广东省深圳市福田区赛格科技 园 2 栋东 403 室 (72)发明人 姜德强 (74)专利代理机构 北京三高永信知识产权代理 有限责任公司 11138 代理人 刘映东 (54) 发明名称 一种滤镜处理的方法及装置 (57) 摘要 本发明公开了一种滤镜处理的方法。

2、及装置, 属于图像处理领域。所述方法包括 : 获取图像 ; 根 据预设的卷积半径 R 确定第一卷积模板和第二卷 积模板, 第一卷积模板和所述第二卷积模板中的 矩阵元素均为 K ; 根据第一卷积模板对图像的像 素点 bi, 1进行水平方向的卷积运算, 得到第一卷 积和 ; 根据第一卷积和计算第i行除bi, 1之外的其 他像素点的卷积和, 生成第一图像 ; 根据第二卷 积模板对第一图像的像素点 A1, j进行垂直方向的 卷积运算, 得到第二卷积和 ; 根据第二卷积和计 算第j列除A1, j之外的其他像素点的卷积和, 生成 第二图像 ; 根据第二图像和预设的卷积半径 R 得 到滤镜处理后的图像。本发。

3、明降低了卷积过程中 的冗余计算。 (51)Int.Cl. 权利要求书 3 页 说明书 9 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书9页 附图5页 (10)申请公布号 CN 103377463 A CN 103377463 A *CN103377463A* 1/3 页 2 1. 一种滤镜处理的方法, 其特征在于, 包括 : 获取图像 ; 根据预设的卷积半径 R 确定第一卷积模板和第二卷积模板, 所述第一卷积模板为 1*(2R+1) 的矩阵, 所述第二卷积模板为 (2R+1)*1 的矩阵, 所述第一卷积模板和所述第二卷 积模板中的矩阵元素。

4、均为 K, 其中 R 和 K 均为自然数 ; 根据所述第一卷积模板对所述图像的第 i 行第 1 列的像素点 bi, 1进行水平方向的卷积 运算, 得到第一卷积和, 其中 i 1, 2, 、 、 、 , N, N 为所述图像对应的矩阵的最大行数 ; 根据所述第一卷积和计算第 i 行除所述 bi, 1之外的其他像素点的卷积和, 生成第一图 像 ; 根据所述第二卷积模板对所述第一图像的第 1 行第 j 列的像素点 A1, j进行垂直方向的 卷积运算, 得到第二卷积和, 其中 j 1, 2, 、 、 、 , M, M 为所述第一图像对应的矩阵的最大列 数 ; 根据所述第二卷积和计算第 j 列除所述 A。

5、1, j之外的其他像素点的卷积和, 生成第二图 像 ; 根据所述第二图像和所述预设的卷积半径 R 得到滤镜处理后的图像。 2.根据权利要求1所述的方法, 其特征在于, 所述根据所述第一卷积和计算第i行除所 述 bi, 1之外的其他像素点的卷积和包括 : 按照公式分别计算第 i 行除所述 bi, 1之外的其他像素点的 卷积和, 其中, 当 (j1-R) 1 时,当 M (j1-R) 1 时,为所 述图像的第i行第(j1-R)列的像素点 ; 当(j1+R+1)M时,当(j1+R+1) M 时,Ai, 1为第一卷积和,为第 i 行第 j1列的像素点的卷积和,为第 i 行第 (j1+1) 列的像素点的。

6、卷积和 ; j1 1, 2, 、 、 、 , M-1。 3.根据权利要求1所述的方法, 其特征在于, 所述根据所述第二卷积和计算第j列除所 述 A1, j之外的其他像素点的卷积和包括 : 按照公式分别计算第 j 列除所述 A1, j之外的其他像素点的 卷积和, 其中, 当 (i1-R) 1 时,当 N (i1-R) 1 时, 为所第一图像的第 (i1-R) 行第 j 列的像素点 ; 当 (i1+R+1) N 时,当 (i1+R+1) N 时,A1, j为第二卷积和,为第 i1行第 j 列的像素点的卷积 和,为第 (i1+1) 行第 j 列的像素点的卷积和 ; i1 1, 2, 、 、 、 , 。

7、N-1。 4. 根据权利要求 1-3 任一项所述的方法, 其特征在于, 所述根据所述第一卷积模板对 所述图像的第 i 行第 1 列的像素点 bi, 1进行水平方向的卷积运算包括 : 获取所述第一卷积模板的卷积中心 C1, R+1, 其中, 所述 C1, R+1为所述第一卷积模板的第 1 行第 (R+1) 列的元素 ; 将所述第一卷积模板覆盖在所述图像对应的像素矩阵上, 使所述卷积中心C1, R+1与所述 图像的第 i 行第 1 列的像素点 bi, 1重叠 ; 获取所述覆盖后的第一卷积模板与所述图像对应的像素矩阵的第一重叠区域, 对所述 第一重叠区域进行卷积运算。 权 利 要 求 书 CN 10。

8、3377463 A 2 2/3 页 3 5. 根据权利要求 1-3 任一项所述的方法, 其特征在于, 所述根据所述第二卷积模板对 所述第一图像的第 1 行第 j 列的像素点 A1, j进行垂直方向的卷积运算包括 : 获取所述第二卷积模板的卷积中心CR+1, 1, 其中, 所述CR+1, 1为所述第二卷积模板的 第 (R+1) 行第 1 列的元素 ; 将所述第二卷积模板覆盖在所述第一图像对应的像素矩阵上, 使所述卷积中心 C R+1, 1与所述第一图像的第 1 行第 j 列的像素点 A1, j重叠 ; 获取所述覆盖后的第二卷积模板与第一图像对应的像素矩阵的第二重叠区域, 对所述 第二重叠区域进行。

9、卷积运算。 6. 根据权利要求 1-3 任一项所述的方法, 其特征在于, 所述根据所述第二图像和所述 预设的卷积半径 R 得到滤镜处理后的图像包括 : 将所述第二图像的各个像素点均除以所述矩阵元素 K, 得到滤镜处理后的图像。 7. 一种滤镜处理的装置, 其特征在于, 包括 : 获取模块, 用于获取图像 ; 模板确定模块, 用于根据预设的卷积半径 R 确定第一卷积模板和第二卷积模板, 所述 第一卷积模板为1*(2R+1)的矩阵, 所述第二卷积模板为(2R+1)*1的矩阵, 所述第一卷积模 板和所述第二卷积模板中的矩阵元素均为 K, 其中 R 和 K 均为自然数 ; 水平卷积模块, 用于根据所述。

10、第一卷积模板对所述图像的第i行第1列的像素点bi, 1进 行水平方向的卷积运算, 得到第一卷积和, 其中i1, 2, 、 、 、 , N, N为所述图像对应的矩阵的 最大行数 ; 第一图像生成模块, 用于根据所述第一卷积和计算第 i 行除所述 bi, 1之外的其他像素 点的卷积和, 生成第一图像 ; 垂直卷积模块, 用于根据所述第二卷积模板对所述第一图像的第 1 行第 j 列的像素点 A1, j进行垂直方向的卷积运算, 得到第二卷积和, 其中 j 1, 2, 、 、 、 , M, M 为所述第一图像对 应的矩阵的最大列数 ; 第二图像生成模块, 用于根据所述第二卷积和计算第 j 列除所述 A1。

11、, j之外的其他像素 点的卷积和, 生成第二图像 ; 处理模块, 用于根据所述第二图像和所述预设的卷积半径 R 得到滤镜处理后的图像。 8. 根据权利要求 7 所述的装置, 其特征在于, 所述第一图像生成模块包括 : 第一计算单元, 用于按照公式分别计算第 i 行除所述 bi, 1之外的其他像素点的卷积和, 其中, 当 (j1-R) 1 时, 当 M (j1-R) 1 时, 为所述图像的第 i 行第 (j1-R) 列的像素点 ; 当 (j1+R+1) M 时, 当 (j1+R+1) M 时,Ai, 1为第一卷积和,为第 i 行第 j1 列的像素点的卷积和,为第 i 行第 (j1+1) 列的像素。

12、点的卷积和 ; j1 1, 2, 、 、 、 , M-1。 9. 根据权利要求 7 所述的装置, 其特征在于, 所述第二图像生成模块包括 : 第二计算单元, 用于按照公式分别计算第 j 列除所述 A1, j之外的其他像素点的卷积和, 其中, 当 (i1-R) 1 时, 当 N (i1-R) 1 时, 为所第一图像的第(i1-R)行第j列的像素点 ; 当(i1+R+1)N时, 权 利 要 求 书 CN 103377463 A 3 3/3 页 4 当(i1+R+1)N时,A1, j为第二卷积和,为第i1行第j 列的像素点的卷积和,为第(i1+1)行第j列的像素点的卷积和 ; i11, 2, 、 、。

13、 、 , N-1。 10. 根据权利要求 7-9 任一项所述的装置, 其特征在于, 所述水平卷积模块包括 : 第一获取单元, 用于获取所述第一卷积模板的卷积中心 C1, R+1, 其中, 所述 C1, R+1为所述 第一卷积模板的第 1 行第 (R+1) 列的元素 ; 第一覆盖单元, 用于将所述第一卷积模板覆盖在所述图像对应的像素矩阵上, 使所述 卷积中心 C1, R+1与所述图像的第 i 行第 1 列的像素点 bi, 1重叠 ; 第一计算单元, 用于获取所述覆盖后的第一卷积模板与所述图像对应的像素矩阵的第 一重叠区域, 对所述第一重叠区域进行卷积运算。 11. 根据权利要求 7-9 任一项所。

14、述的装置, 其特征在于, 所述垂直卷积模块包括 : 第二获取单元, 用于获取所述第二卷积模板的卷积中心 C R+1, 1, 其中, 所述 CR+1, 1为 所述第二卷积模板的第 (R+1) 行第 1 列的元素 ; 第二覆盖单元, 用于将所述第二卷积模板覆盖在所述第一图像对应的像素矩阵上, 使 所述卷积中心 C R+1, 1与所述第一图像的第 1 行第 j 列的像素点 A1, j重叠 ; 第二计算单元, 用于获取所述覆盖后的第二卷积模板与第一图像对应的像素矩阵的第 二重叠区域, 对所述第二重叠区域进行卷积运算。 12. 根据权利要求 7-9 任一项所述的装置, 其特征在于, 所述处理模块包括 :。

15、 第三计算单元, 用于将所述第二图像的各个像素点均除以所述矩阵元素 K, 得到滤镜处 理后的图像。 权 利 要 求 书 CN 103377463 A 4 1/9 页 5 一种滤镜处理的方法及装置 技术领域 0001 本发明涉及图像处理领域, 特别涉及一种滤镜处理的方法及装置。 背景技术 0002 滤镜在图像处理中的使用是非常灵活的, 熟练地使用滤镜可以实现图像的特殊表 现效果, 增强图像的表现能力。 0003 现有滤镜处理图像时的卷积方式就是定义图像 f(x), 卷积模板是 g(x), 然后将卷 积模版 g(x) 在图像 f(x) 中移动, 每移动到一个位置, 即一个像素点, 就把 f(x) 。

16、与 g(x) 的 定义域相交的元素进行乘积并且求和, 得出一个新的像素点, 把新得到的像素集合起来就 是卷积后的图像, 即滤镜处理后的图像。 0004 在实现本发明的过程中, 发明人发现现有技术至少存在以下问题 : 在相邻像素点 的卷积过程中会存在重叠区域的卷积, 使得卷积过程的冗余计算增多, 降低了滤镜生成效 率。 发明内容 0005 为了降低卷积过程中的冗余计算, 提高滤镜生成效率, 本发明实施例提供了一种 滤镜处理的方法及装置。所述技术方案如下 : 0006 一方面, 提供了一种滤镜处理的方法, 包括 : 0007 获取图像 ; 0008 根据预设的卷积半径 R 确定第一卷积模板和第二卷。

17、积模板, 所述第一卷积模板为 1*(2R+1) 的矩阵, 所述第二卷积模板为 (2R+1)*1 的矩阵, 所述第一卷积模板和所述第二卷 积模板中的矩阵元素均为 K, 其中 R 和 K 均为自然数 ; 0009 根据所述第一卷积模板对所述图像的第 i 行第 1 列的像素点 bi, 1进行水平方向的 卷积运算, 得到第一卷积和, 其中 i 1, 2, 、 、 、 , N, N 为所述图像对应的矩阵的最大行数 ; 0010 根据所述第一卷积和计算第 i 行除所述 bi, 1之外的其他像素点的卷积和, 生成第 一图像 ; 0011 根据所述第二卷积模板对所述第一图像的第 1 行第 j 列的像素点 A1。

18、, j进行垂直方 向的卷积运算, 得到第二卷积和, 其中j1, 2, 、 、 、 , M, M为所述第一图像对应的矩阵的最大 列数 ; 0012 根据所述第二卷积和计算第 j 列除所述 A1, j之外的其他像素点的卷积和, 生成第 二图像 ; 0013 根据所述第二图像和所述预设的卷积半径 R 得到滤镜处理后的图像。 0014 另一方面, 提供了一种滤镜处理的装置, 包括 : 0015 获取模块, 用于获取图像 ; 0016 模板确定模块, 用于根据预设的卷积半径 R 确定第一卷积模板和第二卷积模板, 所述第一卷积模板为1*(2R+1)的矩阵, 所述第二卷积模板为(2R+1)*1的矩阵, 所述。

19、第一卷 说 明 书 CN 103377463 A 5 2/9 页 6 积模板和所述第二卷积模板中的矩阵元素均为 K, 其中 R 和 K 均为自然数 ; 0017 水平卷积模块, 用于根据所述第一卷积模板对所述图像的第 i 行第 1 列的像素点 bi, 1进行水平方向的卷积运算, 得到第一卷积和, 其中 i 1, 2, 、 、 、 , N, N 为所述图像对应的 矩阵的最大行数 ; 0018 第一图像生成模块, 用于根据所述第一卷积和计算第 i 行除所述 bi, 1之外的其他 像素点的卷积和, 生成第一图像 ; 0019 垂直卷积模块, 用于根据所述第二卷积模板对所述第一图像的第 1 行第 j 。

20、列的像 素点 A1, j进行垂直方向的卷积运算, 得到第二卷积和, 其中 j 1, 2, 、 、 、 , M, M 为所述第一图 像对应的矩阵的最大列数 ; 0020 第二图像生成模块, 用于根据所述第二卷积和计算第 j 列除所述 A1, j之外的其他 像素点的卷积和, 生成第二图像 ; 0021 处理模块, 用于根据所述第二图像和所述预设的卷积半径 R 得到滤镜处理后的图 像。 0022 本发明实施例提供的技术方案带来的有益效果是 : 通过当第一卷积模板和第二卷 积模板的元素均相同时, 通过第一卷积模块对所述图像的每行第 1 列的像素点 bi, 1进行水 平方向的卷积运算, 得到第一卷积和,。

21、 再根据第一卷积和分别计算 bi, 1所在行除 bi, 1之外的 其他像素点的卷积和, 同理, 可以根据第二卷积模板对所述第一图像的每列第 1 行的像素 点 A1, j进行垂直方向的卷积运算, 得到第二卷积和, 再根据第二卷积和分别计算 A1, j所在列 除 A1, j之外的其他像素点的卷积和, 也就是说水平方向和垂直方向的卷积运算均利用了已 经计算出来的卷积和来实现后续相邻像素点卷积和的计算, 避免了相邻像素点的卷积过程 中对重叠区域的卷积运算, 降低了卷积过程中的冗余计算, 提高了滤镜生成效率。 附图说明 0023 为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例描述中所需要使 。

22、用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施例, 对于 本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他 的附图。 0024 图 1 是本发明实施例 1 提供的一种滤镜处理的方法实施例的流程图 ; 0025 图 2 是本发明实施例 2 提供的一种滤镜处理的方法实施例的流程图 ; 0026 图 3 是本发明实施例 3 提供的一种滤镜处理的装置实施例的第一结构示意图 ; 0027 图 4 是本发明实施例 3 提供的一种滤镜处理的装置实施例的第二结构示意图 ; 0028 图 5 是本发明实施例 3 提供的一种滤镜处理的装置实施例的第三。

23、结构示意图。 具体实施方式 0029 为使本发明的目的、 技术方案和优点更加清楚, 下面将结合附图对本发明实施方 式作进一步地详细描述。 0030 实施例 1 0031 参考图 1, 图 1 是本发明实施例 1 提供的一种滤镜处理的方法实施例的流程图 ; 所 述滤镜处理的方法包括 : 说 明 书 CN 103377463 A 6 3/9 页 7 0032 S101 : 获取图像。 0033 S102 : 根据预设的卷积半径 R 确定第一卷积模板和第二卷积模板, 所述第一卷积 模板为1*(2R+1)的矩阵, 所述第二卷积模板为(2R+1)*1的矩阵, 所述第一卷积模板和所述 第二卷积模板中的矩阵。

24、元素均为 K, 其中 R 和 K 均为自然数。 0034 S103 : 根据所述第一卷积模板对所述图像的第 i 行第 1 列的像素点 bi, 1进行水平 方向的卷积运算, 得到第一卷积和, 其中i1, 2, 、 、 、 , N, N为所述图像对应的矩阵的最大行 数。 0035 S104 : 根据所述第一卷积和计算第i行除所述bi, 1之外的其他像素点的卷积和, 生 成第一图像。 0036 S105 : 根据所述第二卷积模板对所述第一图像的第 1 行第 j 列的像素点 A1, j进行 垂直方向的卷积运算, 得到第二卷积和, 其中j1, 2, 、 、 、 , M, M为所述第一图像对应的矩阵 的最。

25、大列数。 0037 S106 : 根据所述第二卷积和计算第j列除所述A1, j之外的其他像素点的卷积和, 生 成第二图像。 0038 S107 : 根据所述第二图像和所述预设的卷积半径 R 得到滤镜处理后的图像。 0039 本实施例中, 当第一卷积模板和第二卷积模板的元素均相同时, 通过第一卷积模 块对所述图像的每行第 1 列的像素点 bi, 1进行水平方向的卷积运算, 得到第一卷积和, 再根 据第一卷积和分别计算 bi, 1所在行除 bi, 1之外的其他像素点的卷积和, 同理, 可以根据第二 卷积模板对所述第一图像的每列第 1 行的像素点 A1, j进行垂直方向的卷积运算, 得到第二 卷积和。

26、, 再根据第二卷积和分别计算 A1, j所在列除 A1, j之外的其他像素点的卷积和, 也就是 说水平方向和垂直方向的卷积运算均利用了已经计算出来的卷积和来实现后续相邻像素 点卷积和的计算, 避免了相邻像素点的卷积过程中对重叠区域的卷积运算, 降低了卷积过 程中的冗余计算, 提高了滤镜生成效率。 0040 实施例 2 0041 参考图 2, 图 2 是本发明实施例 2 提供的一种滤镜处理的方法实施例的流程图 ; 本 实施例中所设计的卷积操作就是滤镜操作, 不同的滤镜可能对应不同的卷积模板 ; 其中滤 镜是图像处理的处理效果, 其在数学上是用卷积的方式实现的, 也就是说滤镜是结果, 卷积 是实现。

27、方式。 0042 所述滤镜处理的方法包括 : 0043 S201 : 获取图像。 0044 本实施例所涉及的图像 f(x) 可以是一张张的图片, 该图像 f(x) 上的像素点对应 着图像 f(x) 的像素矩阵。 0045 S202 : 根据预设的卷积半径 R 确定第一卷积模板和第二卷积模板。 0046 本实施例中涉及的预设的卷积半径 R 为自然数, 可以根据所述预设的卷积半径 R 来确定第一卷积模板和第二卷积模板, 具体地, 所述第一卷积模板为 1*(2R+1) 的矩阵, 其 中所述第一卷积模板用于水平方向的卷积运算 ; 所述第二卷积模板为 (2R+1)*1 的矩阵, 其 中所述第二卷积模板用。

28、于垂直方向的卷积运算。 所述第一卷积模板和所述第二卷积模板的 元素均为 K, 其中 K 为自然数 ; 优选的, 所述第一卷积模板和所述第二卷积模板均为全 1 矩 阵, 即 K 1。 说 明 书 CN 103377463 A 7 4/9 页 8 0047 例如, 当 R 1 时, K 1 时, 所述第一卷积模板为 1, 1, 1, 所述第二卷积模板为 0048 S203 : 根据所述第一卷积模板对所述图像的第 i 行第 1 列的像素点 bi, 1进行水平 方向的卷积运算, 得到第一卷积和。 0049 此步骤中, 具体地, 获取所述第一卷积模板的卷积中心 C1, R+1, 其中, 所述 C1, R。

29、+1为所 述第一卷积模板的第 1 行第 (R+1) 列的元素 ; 将所述第一卷积模板覆盖在所述图像对应的 像素矩阵上, 使所述卷积中心C1, R+1与所述图像的第i行第1列的像素点bi, 1重叠, 其中i 1, 2, 、 、 、 , N, N 为所述图像对应的矩阵的最大行数 ; 获取所述覆盖后的第一卷积模板与所述 图像对应的像素矩阵的第一重叠区域, 对所述第一重叠区域进行卷积运算, 得到第一卷积 和。 0050 例如, 当所述第一卷积模板为 1, 1, 1, 所述图像对应的像素矩阵为 时, 计算第 1 行第 1 列的像素点 b1, 1的第一卷积和 A1, 1的过程为 : 获取所述第一卷积模板的。

30、 卷积中心 C1, 2; 将所述第一卷积模板覆盖在所述图像对应的像素矩阵上, 使所述第一卷积模 板的卷积中心C1, 2与所述图像的像素点b1, 1重叠, 此时所述第一卷积模板的C1, 3与所述图像 的像素点 b1, 2也重叠 ; 获取所述覆盖后的第一卷积模板与所述图像对应的像素矩阵的第一 重叠区域, 对所述第一重叠区域进行卷积运算, 即计算第一重叠区域对应元素的乘积和, 如 下所示 : 0051 A1, 1 C1, 2*b1, 1+C1, 3*b1, 2 1*a1+1*a2 a1+a2 0052 对于其他行第 1 列像素点的第一卷积和也按照上述方法进行计算, 在此不再赘 述。 0053 S20。

31、4 : 根据所述第一卷积和计算第i行除所述bi, 1之外的其他像素点的卷积和, 生 成第一图像。 0054 此步骤中, 具体地, 按照公式分别计算第i行除所述bi, 1 之外的其他像素点的卷积和, 其中 Ai, 1为第一卷积和,为第 i 行第 j1列的像素点的卷 积和,为第 i 行第 (j1+1) 列的像素点的卷积和, j1 1, 2, 、 、 、 , M-1。 0055 也 就 是 说 对 于 第 1 行 而 言,根 据 第 一 卷 积 和 A1, 1,按 照 公 式 计算 A1, 2; 再根据 A1, 2, 按照公式计算 A1, 3; 按照上述方法依次计算第 1 行后续其他像素点的卷积和 。

32、; 同理可以按照上述方法依次 计算除第 1 行之外的其他行的像素点的卷积和, 直至所述图像的全部像素点的卷积和计算 完毕, 生成第一图像, 其中所述第一图像为 说 明 书 CN 103377463 A 8 5/9 页 9 0056 其中, 当(j1-R)1时,当M(j1-R)1时,为所 述图像的第i行第(j1-R)列的像素点 ; 当(j1+R+1)M时,当(j1+R+1) M 时, 0057 例 如, 当 所 述 第 一 卷 积 模 板 为 1, 1, 1, 所 述 图 像 对 应 的 像 素 矩 阵 为 A1, 1 a1+a2时, 计算第 1 行除 b1, 1之外的其他像素点的卷积和的过程为。

33、 : 0058 A1, 2 A1, 1-B1, 0+B1, 3 a1+a2-0+a3 a1+a2+a3 0059 A1, 3 A1, 2-B1, 1+B1, 4 a1+a2+a3-a1+a4 a2+a3+a4 0060 A1, 4 A1, 3-B1, 2+B1, 5 a2+a3+a4-a2+0 a3+a4 0061 对于其他行而言, 也按照上述方法计算所述图像对应的像素矩阵中每行中除第 1 列之外的其他像素点的卷积和, 在此不再赘述。 0062 S205 : 根据所述第二卷积模板对所述第一图像的第 1 行第 j 列的像素点 A1, j进行 垂直方向的卷积运算, 得到第二卷积和。 0063 此步。

34、骤中, 具体地, 获取所述第二卷积模板的卷积中心 C R+1, 1, 其中, 所述 CR+1, 1 为所述第二卷积模板的第 (R+1) 行第 1 列的元素 ; 将所述第二卷积模板覆盖在所述第一图 像对应的像素矩阵上, 使所述卷积中心 C R+1, 1与所述第一图像的第 1 行第 j 列的像素点 A1, j重叠, 其中 j 1, 2, 、 、 、 , M, M 为所述第一图像对应的矩阵的最大列数 ; 获取所述覆盖后 的第二卷积模板与第一图像对应的像素矩阵的第二重叠区域, 对所述第二重叠区域进行卷 积运算, 得到第二卷积和。 0064 例 如, 当 所 述 第 二 卷 积 模 板 为所 述 第 一。

35、 图 像 对 应 的 像 素 矩 阵 为 时, 计算第 1 列第 1 行的像素点 A1, 1的第二卷积和 A1, 1的过程为 : 获取 所述第二卷积模板的卷积中心 C 2, 1, 将所述第二卷积模板覆盖在所述第一图像对应的像 素矩阵上, 使所述第二卷积模板的卷积中心C2, 1与所述第一图像的像素点A1, 1重叠, 此时 所述第二卷积模板的 C 3, 1与所述第一图像的像素点 A2, 1也重叠 ; 获取所述覆盖后的第二 卷积模板与所述第一图像对应的像素矩阵的第二重叠区域, 对所述第二重叠区域进行卷积 运算, 即计算第二重叠区域对应元素的乘积和, 如下所示 : 0065 A 1, 1 C2, 1*。

36、A1, 1+C3, 1*A2, 1 A1, 1+A2, 1 0066 对于其他列第 1 行像素点的第二卷积和也按照上述方法进行计算, 在此不再赘 述。 0067 S206 : 根据所述第二卷积和计算第j列除所述A1, j之外的其他像素点的卷积和, 生 成第二图像, 根据所述第二图像和所述预设的卷积半径 R 得到滤镜处理后的图像。 说 明 书 CN 103377463 A 9 6/9 页 10 0068 此步骤中, 具体地, 按照公式分别计算第 j 列除所述 A1, j之外的其他像素点的卷积和, 其中 A1, j为第二卷积和, 为第 i1行第 j 列的像素点 的卷积和,为第 (i1+1) 行第 。

37、j 列的像素点的卷积和 ; i1 1, 2, 、 、 、 , N-1 0069 也 就 是 说 对 于 第 1 列 而 言,根 据 第 二 卷 积 和 A 1, 1,按 照 公 式 计算 A2, 1; 再根据 A2, 1, 按照公式 计算A3, 1; 按照上述方法以此计算第1列后续其他像素点的卷积和 ; 同理可以按照上述方 法依次计算除第 1 列之外的其他列的像素点的卷积和, 直至所述第一图像的全部像素点的 卷积和计算完毕, 生成第二图像, 其中所述第二图像为 0070 其中, 当 (i1-R) 1 时,当 N (i1-R) 1 时, 为所第一图像的第 (i1-R) 行第 j 列的像素点 ; 。

38、当 (i1+R+1) N 时,当 (i1+R+1) N 时, 0071 例 如, 当 所 述 第 二 卷 积 模 板 为所 述 第 一 图 像 对 应 的 像 素 矩 阵 为 A 1, 1 A1, 1+A2, 1时, 计算第 1 列除 A1, 1之外的其他像素点的卷积和的 过程为 : 0072 A 2, 1 A1, 1-B0, 1+B3, 1 A1, 1+A2, 1-0+A3, 1 A1, 1+A2, 1+A3, 1 0073 A 3, 1 A2, 1-B1, 1+B4, 1 A1, 1+A2, 1+A3, 1-A1, 1+A4, 1 A2, 1+A3, 1+A4, 1 0074 A 4, 1。

39、 A3, 1-B2, 1+B5, 1 A2, 1+A3, 1+A4, 1-A2, 1+0 A3, 1+A4, 1 0075 对于其他列而言, 页按照上述方法计算所述第一图像对应的像素矩阵中每列中除 第 1 行之外的其他像素点的卷积和, 在此不再赘述。 0076 得到所述第二图像后, 对第二图像对应的像素矩阵中的各个像素点均处以所述矩 阵元素K, 得到滤镜处理后的图像 ; 如果K1, 即所述第一卷积模板和所述第二卷积模板均 为全 1 矩阵, 则所述第二图像即为滤镜处理后的图像。 0077 对于所述图像对应的像素矩阵的行数和列数均很大时, 可以先对像素矩阵进行分 块处理, 然后再对各个块按照 S2。

40、02-S206 并行进行处理。 0078 本实施例中, 当第一卷积模板和第二卷积模板的元素均相同时, 通过第一卷积模 块对所述图像的每行第 1 列的像素点 bi, 1进行水平方向的卷积运算, 得到第一卷积和, 再根 据第一卷积和分别计算 bi, 1所在行除 bi, 1之外的其他像素点的卷积和, 同理, 可以根据第二 卷积模板对所述第一图像的每列第 1 行的像素点 A1, j进行垂直方向的卷积运算, 得到第二 卷积和, 再根据第二卷积和分别计算 A1, j所在列除 A1, j之外的其他像素点的卷积和, 也就是 说 明 书 CN 103377463 A 10 7/9 页 11 说水平方向和垂直方向。

41、的卷积运算均利用了已经计算出来的卷积和来实现后续相邻像素 点卷积和的计算, 避免了相邻像素点的卷积过程中对重叠区域的卷积运算, 降低了卷积过 程中的冗余计算, 提高了滤镜生成效率。 0079 实施例 3 0080 参考图3, 图3是本发明实施例3提供的一种滤镜处理的装置实施例的第一结构示 意图 ; 0081 所述滤镜处理装置包括 : 0082 获取模块 301, 用于获取图像。 0083 模板确定模块 302, 用于根据预设的卷积半径 R 确定第一卷积模板和第二卷积模 板, 所述第一卷积模板为 1*(2R+1) 的矩阵, 所述第二卷积模板为 (2R+1)*1 的矩阵, 所述第 一卷积模板和所述。

42、第二卷积模板中的矩阵元素均为 K, 其中 R 和 K 均为自然数。 0084 水平卷积模块303, 用于根据所述第一卷积模板对所述图像的第i行第1列的像素 点 bi, 1进行水平方向的卷积运算, 得到第一卷积和, 其中 i 1, 2, 、 、 、 , N, N 为所述图像对应 的矩阵的最大行数。 0085 第一图像生成模块304, 用于根据所述第一卷积和计算第i行除所述bi, 1之外的其 他像素点的卷积和, 生成第一图像。 0086 垂直卷积模块305, 用于根据所述第二卷积模板对所述第一图像的第1行第j列的 像素点 A1, j进行垂直方向的卷积运算, 得到第二卷积和, 其中 j 1, 2, 。

43、、 、 、 , M, M 为所述第一 图像对应的矩阵的最大列数。 0087 第二图像生成模块306, 用于根据所述第二卷积和计算第j列除所述A1, j之外的其 他像素点的卷积和, 生成第二图像。 0088 处理模块 307, 用于根据所述第二图像和所述预设的卷积半径 R 得到滤镜处理后 的图像。 0089 在一种实施方式中, 所述第一图像生成模块 304 包括 : 第一计算单元 3041, 如图 4 所示, 图 4 是本发明实施例 3 提供的一种滤镜处理的装置实施例的第二结构示意图 ; 0090 所述第一计算单元 3041, 用于按照公式分别计算 第 i 行除所述 bi, 1之外的其他像素点的。

44、卷积和, 其中, 当 (j1-R) 1 时,当 M (j1-R) 1 时,为所述图像的第 i 行第 (j1-R) 列的像素点 ; 当 (j1+R+1)M时,当(j1+R+1)M时,Ai, 1为第一卷积和, 为第 i 行第 j1列的像素点的卷积和,为第 i 行第 (j1+1) 列的像素点的卷积和 ; j1 1, 2, 、 、 、 , M-1。 0091 在另一种实施方式中, 所述第二图像生成模块 306 包括 : 第二计算单元 3061, 如图 5 所示, 图 5 是本发明实施例 3 提供的一种滤镜处理的装置实施例的第三结构示意图 ; 0092 所述第二计算单元 3061, 用于按照公式分别计算。

45、 第 j 列除所述 A1, j之外的其他像素点的卷积和, 其中, 当 (i1-R) 1 时,当 N (i1-R) 1 时,为所第一图像的第 (i1-R) 行第 j 列的像素点 ; 当 (i1+R+1)N时,当(i1+R+1)N时,A1, j为第二卷积和, 为第 i1行第 j 列的像素点的卷积和,为第 (i1+1) 行第 j 列的像素点的卷积 说 明 书 CN 103377463 A 11 8/9 页 12 和 ; i1 1, 2, 、 、 、 , N-1。 0093 在上述实施方式的基础上, 所述水平卷积模块 303 包括 : 0094 第一获取单元, 用于获取所述第一卷积模板的卷积中心 C1。

46、, R+1, 其中, 所述 C1, R+1为 所述第一卷积模板的第 1 行第 (R+1) 列的元素。 0095 第一覆盖单元, 用于将所述第一卷积模板覆盖在所述图像对应的像素矩阵上, 使 所述卷积中心 C1, R+1与所述图像的第 i 行第 1 列的像素点 bi, 1重叠。 0096 第一计算单元, 用于获取所述覆盖后的第一卷积模板与所述图像对应的像素矩阵 的第一重叠区域, 对所述第一重叠区域进行卷积运算。 0097 所述垂直卷积模块 305 包括 : 0098 第二获取单元, 用于获取所述第二卷积模板的卷积中心CR+1, 1, 其中, 所述CR+1, 1为所述第二卷积模板的第 (R+1) 行。

47、第 1 列的元素。 0099 第二覆盖单元, 用于将所述第二卷积模板覆盖在所述第一图像对应的像素矩阵 上, 使所述卷积中心 C R+1, 1与所述第一图像的第 1 行第 j 列的像素点 A1, j重叠。 0100 第二计算单元, 用于获取所述覆盖后的第二卷积模板与第一图像对应的像素矩阵 的第二重叠区域, 对所述第二重叠区域进行卷积运算。 0101 所述处理模块 307 包括 : 0102 第三计算单元, 用于将所述第二图像的各个像素点均除以所述矩阵元素 K, 得到滤 镜处理后的图像。 0103 本实施例中, 当第一卷积模板和第二卷积模板的元素均相同时, 通过第一卷积模 块对所述图像的每行第 1。

48、 列的像素点 bi, 1进行水平方向的卷积运算, 得到第一卷积和, 再根 据第一卷积和分别计算 bi, 1所在行除 bi, 1之外的其他像素点的卷积和, 同理, 可以根据第二 卷积模板对所述第一图像的每列第 1 行的像素点 A1, j进行垂直方向的卷积运算, 得到第二 卷积和, 再根据第二卷积和分别计算 A1, j所在列除 A1, j之外的其他像素点的卷积和, 也就是 说水平方向和垂直方向的卷积运算均利用了已经计算出来的卷积和来实现后续相邻像素 点卷积和的计算, 避免了相邻像素点的卷积过程中对重叠区域的卷积运算, 降低了卷积过 程中的冗余计算, 提高了滤镜生成效率。 0104 需要说明的是, 本说明书中的各个实施例均采用递进的方式描述, 每个实施例重 点说明的都是与其他实施例的不同之处, 各个实施例之间相同相似的部分互相参见即可。 对于装置类实施例而言, 由于其与方法实施例基本相似, 所以描述的比较简单, 相关之处参 见方法实施例的部分说明即可。 0105 需要说明的是, 在本文中, 诸如第一和第二等之类的关系术语仅仅用来将一个实 体或者操作与另一个实体或操作区分开来, 而不一定要求或者暗示这些实体或操作之间存 在。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1