具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
本发明实施例提供一种图像处理方法及装置,以下结合附图对本发明进行详细说明。
实施例一:
图1是本发明实施例提供的一种图像处理方法流程图,如图1所示,图像处理方法包括如下步骤:
步骤S101,获取待处理图像。
在本发明实施例中,移动终端首先要获取待处理的图像,移动终端可以是手机、卡片相机、单反相机、带有摄像头的笔记本电脑等,在本发明实施例提供的图像处理方法也可以用于其他数据处理设备,如台式PC等。
在本发明实施例中,移动终端可以根据感光元件实时感测到的图像获取待处理图像。用户在使用移动终端拍摄照片时,移动终端中的电子感光元件可以将感测到图像数据实时显示在移动终端的显示屏上,此时移动终端可以实时获取电子感光元件感测到的图像,并实时输出待处理图像,用于后续步骤实现小行星特效。在本发明的一实施例中,实时显示在显示屏上的待处理图像的像素可以小于实际拍照后生成的照片的像素,以减小待处理图像的容量,加快实时处理速度,使用户可以更快速的看到实时特效效果。
在本发明一实施例中,移动终端也可以根据预先存储的图片获取待处理图像。现有移动终端大多具备有存储器,其中可以存储以前拍摄的照片或其他图片,在有些情况下,存储的照片或图片可能是倾斜的,这时,移动终端可以对照片进行旋转和/或剪裁处理,使得照片与水平线保持平行,以利于后续步骤实现小行星特效。
在本发明实施例中,在实时拍摄的情况下,可以将实时获取的图像的上下边裁切掉,也可以不对输入图像进行旋转和裁切;使用固定照片作为输入时,可以改变旋转参数,获取到的待处理图像可以是分辨率为W×H的矩形图像,其中,W和H分别为矩形待处理图像的长度和宽度。
步骤S102,对所述的待处理图像进行坐标转换处理,得到小行星特效图片。
在本发明实施例中,图2所示为步骤S101最终获取到的分辨率为W×H的矩形待处理图像示意图。如图2所示,移动终端对步骤S101获取到的矩形图像进行处理,以矩形图像左上角为原点(0,0),x轴向右y轴向下建立笛卡尔坐标系,将矩形图像中的每个像素点(x,y)均变换为以图像中心为原点,θ=0轴向下的极坐标系中的点(ρ,θ),图3所示为本发明实施例提供的小行星特效图片的极坐标系示意图,如图3所示,具体变换规则为:
y的变换要满足ρ=0时y=H;ρ=ρmax时y=0。可以选择使用线性变换获得y与ρ的对应关系,即
也可以使用其它变换,比如二次变换等。
x的变换要满足θ=2π时x=0;
时
θ=π时
时
θ=0时x=W。一般选择线性变换:
也可以使用其它变换,比如二次变换等。
其中x的取值范围为[0,W];y的取值范围为[0,H];极径ρ的取值范围为[0,ρmax];极角θ的取值范围为[0,2π],ρmax为ρ的最大值。
通过上述变换,可以获得原始矩形图片中的像素点与小行星特效图片中的像素点的对应关系。之后根据获得的对应关系,将原始矩形图片中的每个像素点映射至小行星特效图片中,得到小行星特效图片。
在本发明另一实施例中,在生成小行星特效图像时,对于每一个像素点,首先求该点在以图像中心O为原点的极坐标系中的点坐标(ρ,θ),然后按照以上的转换公式得到对应的待处理图像中的坐标(x,y),再把这个坐标转换为纹理映射坐标,以旋转裁剪后的图像作为纹理,进行纹理映射操作以后就能得到输出像素的色彩值,进而得到小行星特效图像。
在本发明实施例中,直观地讲,上述变换就是将图2所示的矩形图像弯曲成图3所示的圆,其中,矩形图像的上边AF弯曲成图3中最外圈的圆周,而矩形图像的下边会汇集成图3中的圆心O。也就是说,矩形图像的上边AF的每个像素点均对应圆周上的一个点,而矩形图像下边上的所有像素点会汇集成圆心O这一个点,圆心点的颜色可以根据矩形图像下边上所有像素点的颜色平均计算出来,也可以选择其中任意一个像素点的颜色作为圆心的颜色。
步骤S103,输出所述小行星特效图片。
在本发明实施例中,移动终端可以将生成的圆形小行星特效图片输出至显示屏显示,也可以将生成的圆形小行星特效图片剪裁后输出至显示屏显示,例如,按照移动终端显示屏的显示尺寸或显示比例,将圆形小行星特效图片剪裁成适合显示屏的矩形图片后进行显示,剪裁后的矩形的四个顶点均落在圆形小行星特效图片的最外圈圆周上,且满足
其中,a和b分别为剪裁后的矩形的长和宽,也是最终输出的矩形图像的分辨率。
在本发明另一实施例中,移动终端可以将生成的圆形小行星特效图片保存为图片文件。
在本发明的另一实施例中,待处理图像中的像素点与小行星特效图片中的像素点并不是一一对应的,举例来说,在小行星特效图片的边缘位置,一个像素点可以仅对应待处理图像中的一个像素点的一部分,而在小行星特效图片的中心位置,一个像素点可以对应待处理图像中的多个像素点。因此,步骤S102可以获取小行星特效图片中每个像素点与待处理图像中像素区域的对应关系,并根据所述的对应关系,将所述待处理图像中的像素区域映射至小行星特效图片的像素中,得到小行星特效图片。待处理图像中像素区域可以是一个像素,几分之一个像素或由多个像素组成。
在计算对应关系时,可以获取小行星特效图片中每个像素点形成的矩形区域的四个顶点的极坐标值与待处理图像中的坐标值的对应关系,获得待处理图像中对应的四个顶点的坐标值,计算待处理图像中四个顶点形成的像素区域中的色彩值,将计算后的色彩值映射到小行星特效图片的像素点中。
优选地,小行星特效图片中每个像素点P,可以看作是一个像素宽,一个像素高的矩形区域,这个矩形有四个顶点,可以用坐标转换方法将其转换为待处理图像中的坐标值。在待处理图像中,对应的四个点包围的像素区域R将用于计算最终小行星特效图片中像素点P的色彩值。当像素区域R中包括的色彩值多于一个时,可以使用加权平均的方式来计算像素区域的色彩值,即按照每个色彩在像素区域R内的面积大小作为权值。对于像素区域R中每一个部分的或完整的像素Pr,Color_pr表示像素Pr的颜色,Ratio_pr表示像素Pr在像素区域R内的面积占整个像素区域R的比例。那么P的颜色Color_p=sum(Color_pr×Ratio_pr)/sum(Ratio_pr)。
当像素区域R面积较大时,为了简化计算,也可以仅对像素区域R中心的部分区域进行计算,当像素区域R面积Area_R超过预定阈值时,可以只对像素区域R的中心区域R_center进行计算,其中预定阈值可以是N个像素的面积,中心区域R_center可以是以像素区域R的中心为中心的N个像素大小的区域;在另一实施例中,中心区域R_center的面积Area_Rcenter也可以依照像素区域R的面积Area_R按比例变化,Area_Rcenter=N+(Area_R-N)×k,k为比例系数。中心区域R_center的形状可以与像素区域R相同,也可以固定为矩形。在本发明的另一实施例中,可以仅选取像素区域R中的一个点作为小行星特效图片中像素点P的色彩值,即N=1,如像素区域R的中心;或是选取像素区域R中具有相同/相似颜色最多的像素的色彩值作为小行星特效图片中像素点P的色彩值。
优选地,在本发明一实施例中,可以仅对小行星特效图片中每个像素点P的中心进行坐标转换,获取对应的待处理图像中的坐标值,以待处理图像中的坐标值为中心,计算像素面积为N的像素区域R的色彩值,作为小行星特效图片中像素点P的色彩值,其中,当像素点P靠近圆心时,N>1,当P远离圆心时,N=1。
本发明实施例提供的图像处理方法克服了普通拍摄设备单次拍摄的照片不可能达到360度的全景视角,也无法得到完美的球面全景图的技术问题,可以直接对普通照片进行处理,得到小行星特效图片。
实施例二
在日常使用中,移动终端处理的图像通常不是360度全景图,有时待处理图像的角度甚至要小于90度,在这种情况下,待处理图像左右两侧的图像并不是连续的,拼接在一起时会存在明显的差异。此时直接将待处理图像转换成小行星特效图片,那么θ=0这条线的左右两侧的图案衔接时就会产生很大的突变,无法形成完整的小行星特效图片,从而无法满足用户需求。
为克服上述问题,本发明实施例提供一种图像处理方法,图4是本发明实施例提供的一种图像处理方法流程图,如图4所示,图像处理方法包括如下步骤:
步骤S401,获取待处理图像。
在本发明实施例中,移动终端可以对获取到的图像进行旋转和/或剪裁,得到待处理图像,图5所示是本发明实施例提供的待处理图像的示意图,如图5所示,待处理图像的分辨率为W×H,也就是说,A点到F点的距离为W。
步骤S402,判断待处理图像的左右两侧是否可以衔接。
在本发明实施例中,移动终端分别获取待处理图像左右两侧的一列像素,判断两列像素之间是否可以衔接,具体地,可以通过判断两列像素的像素差异来判断两者之间是否可以衔接。当待处理图像的左右两侧可以衔接时,执行步骤S403,当待处理图像的左右两侧不能衔接时,执行步骤S404。
在本发明的另一实施例中,移动终端还可以获取待处理图像的相关信息,如焦距信息和视角信息,判断待处理图像的视角范围是否是360度,以此来判断待处理图像的左右两侧是否可以衔接。
步骤S403,当待处理图像的左右两侧可以衔接时,对所述的待处理图像进行坐标转换处理,得到小行星特效图片。
在本发明实施例中,步骤S403与实施例一中的步骤S103相同,故在此不再赘述。
步骤S404,当待处理图像的左右两侧不能衔接时,移动终端将待处理图像左右两侧的部分图像划分为融合区域。
在本发明实施例中,如图5所示,移动终端将待处理图像左侧A点到C点之间的图像,以及右侧D点到F点的图像划分为融合区域。
进一步地,在本发明的一实施例中,在步骤S402,移动终端可以分别获取待处理图像左右两侧的多列像素,并以此判断左右两侧差异化的程度。在步骤S404划分融合区域时,移动终端可以根据左右两侧差异化的程度,确定融合区域的大小。比如,当待处理图像左右两侧的像素差异较小时,移动终端可以减小左右两侧的融合区域,即缩短AC之间的距离以及DF之间的距离;当待处理图像左右两侧的像素差异较大时,移动终端可以扩大左右两侧的融合区域,即增加AC之间的距离以及DF之间的距离。
步骤S405,对所述的待处理图像进行坐标转换处理,得到小行星特效图片。
在本发明实施例中,在对待处理图像进行坐标转换处理时,移动终端可以将左右两侧的融合区域合并,对合并后的融合区域与非融合区域进行坐标转换处理,得到小行星特效图片。
左右两侧的融合区域中相对应的两个像素点会合并为一个像素点,移动终端可以同时计算相对应的两个像素点的色彩,然后根据像素点在融合区域中的位置来确定两个像素点色彩的混合系数,并以此计算合并后的像素点的色彩。
优选的,步骤S405可以由如下步骤实现:
S4051,以待生成的小行星特效图片的中心为原点建立θ=0轴向下的极坐标系(ρ,θ)。其中:极径ρ的取值范围为[0,ρmax],极角θ的取值范围为[0,2π],
其中,a和b分别为最终输出的矩形小行星特效图片的长和宽,a×b也就是最终输出的矩形图像的分辨率。图6所示为本发明实施例提供的小行星特效图片的极坐标系示意图,如图5和图6所示,在对所述的待处理图像进行坐标转换处理时,待处理图像最左侧的AC区域和最右侧的DF区域将融合在一起,合并后,A点和D点融合,B点和E点融合,C点和F点融合,其中B点和E点分别为AC和DF的中点。
S4052,获取极坐标系中像素点坐标(ρ,θ)与待处理图像中像素点坐标(x,y)的对应关系。
在本发明实施例中,在待处理图像中,c1=|AB|=|BC|=|DE|=|EF|,c2=|CD|,也就是说,c1为单侧融合区域长度的一半,c2为非融合区域的长度。极坐标系中A点和B点间的角度为β,那么
c1=|AB|=|BC|=|DE|=|EF|=W×β/(2π+2β);
c2=|CD|=W-2×c1。
具体变换规则为:y的变换要满足ρ=0时y=H;ρ=ρmax时y=0。可以选择使用线性变换获得y与ρ的对应关系,即
也可以使用其它变换,比如二次变换等。
x的变换要分以下情况分别处理:
当像素点位于融合区域之内时,θ的取值范围为(0,β)或(2π-β,2π]时,需要同时计算两个点x1,x2的值,具体的公式分成两部分:
当θ的取值范围为(0,β)时:x1=c1×(β-θ)/β(在AB内);x2=x1+2×c1+c2(在DE内);mix=0.5×(β-θ)/β;
当θ的取值范围为(2π-β,2π]时:x1=c1+c1×(2π-θ)/β(在BC内);x2=x1+2×c1+c2(在EF内);mix=0.5+0.5×(2π-θ)/β;
当像素点位于融合区域之外时,θ的取值范围为[β,2π-β]时,只需要计算一个x值:x=2×c1+c2×(2π-β-θ)/(2π-2β),
其中x的取值范围为[0,W];y的取值范围为[0,H]。
S4053,根据得到的对应关系,将所述待处理图像中的每个像素点映射至小行星特效图片中,得到小行星特效图片。
当像素点位于融合区域之外时,直接将待处理图像中的像素点映射到小行星特效图片中;
当像素点位于融合区域之内时,需要对被融合的两个像素点的颜色进行计算后映射到小行星特效图片中,优选地,可以根据x1与x2两个点的值以及混合系数mix来得到最终映射的色彩值color=color(x1,y)×mix+color(x2,y)×(1-mix);
当θ的取值范围为(0,β)时:mix=0.5×(β-θ)/β;
当θ的取值范围为(2π-β,2π]时:mix=0.5+0.5×(2π-θ)/β。
步骤S406,输出所述小行星特效图片。
在本发明实施例中,移动终端输出圆形小行星特效图片,也可以输出剪裁后的矩形小行星特效图片。
本发明实施例提供的图像处理方法克服了普通拍摄设备单次拍摄的照片达不到360度的全景视角时,也无法生成完整的小行星特效图片的技术问题,可以首先对普通照片的两侧进行判断,判断两侧是否能衔接上,在不能衔接时划分出融合区域并进行转换,减小了无法衔接部分的突变程度,得到过渡更为自然的小行星特效图片。
实施例三
图7是本发明实施例提供的一种图像处理装置框图,如图7所示,图像处理装置700包括:图像获取单元701、特效转换单元702和图片输出单元703,其中:
图像获取单元701,用于获取待处理图像。
在本发明实施例中,图像获取单元701首先要获取待处理的图像,图像处理装置700可以是手机、卡片相机、单反相机、带有摄像头的笔记本电脑等,在本发明实施例提供的图像处理装置700也是其他数据处理设备,如台式PC等。
在本发明实施例中,图8是本发明实施例提供的图像获取单元701的框图,如图8所示,图像获取单元701可以包括图像感测模块801、图像读取模块802和图像处理模块803,其中:
图像感测模块801,用于根据感光元件实时感测到的图像,获取待处理图像。
在本发明实施例中,图像感测模块801可以根据感光元件实时感测到的图像获取待处理图像。用户在使用图像处理装置700拍摄照片时,图像感测模块801可以将电子感光元件感测到图像数据实时显示在图像处理装置700的显示屏上,此时图像感测模块801可以实时获取电子感光元件感测到的图像,并实时输出待处理图像,用于后续步骤实现小行星特效。在本发明的一实施例中,实时显示在显示屏上的待处理图像的像素可以小于实际拍照后生成的照片的像素,以减小待处理图像的容量,加快实时处理速度,使用户可以更快速的看到实时特效效果。
图像读取模块802,用于根据预先存储的图片,获取待处理图像。
在本发明一实施例中,图像读取模块802可以根据预先存储的图片获取待处理图像。现有图像处理装置700大多具备有存储器,其中可以存储以前拍摄的照片或其他图片,在有些情况下,存储的照片或图片可能是倾斜的。
图像处理模块803用于对预先存储的图片进行旋转和/或剪裁,生成待处理图像,图像处理模块803可以对照片进行旋转和/或剪裁处理,使得照片与水平线保持平行,以利于后续步骤实现小行星特效。
在本发明实施例中,在实时拍摄的情况下,图像处理模块803可以将实时获取的图像的上下边裁切掉,也可以不对输入图像进行旋转和裁切;使用固定照片作为输入时,图像处理模块803可以改变旋转参数,获取到的待处理图像可以是分辨率为W×H的矩形图像,其中,W和H分别为矩形待处理图像的长度和宽度。
特效转换单元702,用于对所述的待处理图像进行坐标转换处理,得到小行星特效图片。
在本发明实施例中,特效转换单元702可以包括对应关系获取模块和映射模块,其中:
对应关系获取模块用于获取待处理图像与小行星特效图片中像素点的对应关系。如图2所示,对应关系获取模块对图像获取单元701获取到的矩形图像进行处理,以矩形图像左上角为原点(0,0),x轴向右y轴向下建立笛卡尔坐标系,将矩形图像中的每个像素点(x,y)均变换为以图像中心为原点,θ=0轴向下的极坐标系中的点(ρ,θ),结合图3所示,具体变换规则为:
y的变换要满足ρ=0时y=H;ρ=ρmax时y=0。可以选择使用线性变换获得y与ρ的对应关系,即
也可以使用其它变换,比如二次变换等。
x的变换要满足θ=2π时x=0;
时
θ=π时
时
θ=0时x=W。一般选择线性变换:
也可以使用其它变换,比如二次变换等。
其中x的取值范围为[0,W];y的取值范围为[0,H];极径ρ的取值范围为[0,ρmax];极角θ的取值范围为[0,2π],ρmax为ρ的最大值。
通过上述变换,对应关系获取模块可以获得原始矩形图片中的像素点与小行星特效图片中的像素点的对应关系。之后映射模块根据获得的对应关系,将原始矩形图片中的每个像素点映射至小行星特效图片中,得到小行星特效图片。
在本发明另一实施例中,在生成小行星特效图像时,对于每一个像素点,对应关系获取模块首先求该点在以图像中心O为原点的极坐标系中的点坐标(ρ,θ),然后按照以上的转换公式得到对应的待处理图像中的坐标(x,y),再把这个坐标转换为纹理映射坐标,映射模块以旋转裁剪后的图像作为纹理,进行纹理映射操作以后就能得到输出像素的色彩值,进而得到小行星特效图像。
在本发明实施例中,直观地讲,上述变换就是将图2所示的矩形图像弯曲成图3所示的圆,其中,矩形图像的上边AF弯曲成图3中最外圈的圆周,而矩形图像的下边会汇集成图3中的圆心O。也就是说,矩形图像的上边AF的每个像素点均对应圆周上的一个点,而矩形图像下边上的所有像素点会汇集成圆心O这一个点,圆心点的颜色可以根据矩形图像下边上所有像素点的颜色平均计算出来,也可以选择其中任意一个像素点的颜色作为圆心的颜色。
图片输出单元703,用于输出所述小行星特效图片。
在本发明实施例中,图片输出单元703可以将生成的圆形小行星特效图片输出至显示屏显示,也可以将生成的圆形小行星特效图片剪裁后输出至显示屏显示,例如,按照图像处理装置700显示屏的显示尺寸或显示比例,将圆形小行星特效图片剪裁成适合显示屏的矩形图片后进行显示,剪裁后的矩形的四个顶点均落在圆形小行星特效图片的最外圈圆周上,且满足
其中,a和b分别为剪裁后的矩形的长和宽,也是最终输出的矩形图像的分辨率。
在本发明另一实施例中,图片输出单元703可以将生成的圆形小行星特效图片保存为图片文件。
在本发明的另一实施例中,待处理图像中的像素点与小行星特效图片中的像素点并不是一一对应的,举例来说,在小行星特效图片的边缘位置,一个像素点可以仅对应待处理图像中的一个像素点的一部分,而在小行星特效图片的中心位置,一个像素点可以对应待处理图像中的多个像素点。因此,对应关系获取模块可以获取小行星特效图片中每个像素点与待处理图像中像素区域的对应关系,映射模块根据所述的对应关系,将所述待处理图像中的像素区域映射至小行星特效图片的像素中,得到小行星特效图片。待处理图像中像素区域可以是一个像素,几分之一个像素或由多个像素组成。
在计算对应关系时,对应关系获取模块可以获取小行星特效图片中每个像素点形成的矩形区域的四个顶点的极坐标值与待处理图像中的坐标值的对应关系,获得待处理图像中对应的四个顶点的坐标值,映射模块计算待处理图像中四个顶点形成的像素区域中的色彩值,将计算后的色彩值映射到小行星特效图片的像素点中。
优选地,小行星特效图片中每个像素点P,可以看作是一个像素宽,一个像素高的矩形区域,这个矩形有四个顶点,对应关系获取模块可以用坐标转换方法将其转换为待处理图像中的坐标值。在待处理图像中,对应的四个点包围的像素区域R将用于计算最终小行星特效图片中像素点P的色彩值。当像素区域R中包括的色彩值多于一个时,映射模块可以使用加权平均的方式来计算像素区域的色彩值,即按照每个色彩在像素区域R内的面积大小作为权值。对于像素区域R中每一个部分的或完整的像素Pr,Color_pr表示像素Pr的颜色,Ratio_pr表示像素Pr在像素区域R内的面积占整个像素区域R的比例。那么P的颜色Color_p=sum(Color_pr×Ratio_pr)/sum(Ratio_pr)。
当像素区域R面积较大时,为了简化计算,映射模块也可以仅对像素区域R中心的部分区域进行计算,当像素区域R面积Area_R超过预定阈值时,可以只对像素区域R的中心区域R_center进行计算,其中预定阈值可以是N个像素的面积,中心区域R_center可以是以像素区域R的中心为中心的N个像素大小的区域;在另一实施例中,中心区域R_center的面积Area_Rcenter也可以依照像素区域R的面积Area_R按比例变化,Area_Rcenter=N+(Area_R-N)×k,k为比例系数。中心区域R_center的形状可以与像素区域R相同,也可以固定为矩形。在本发明的另一实施例中,映射模块可以仅选取像素区域R中的一个点作为小行星特效图片中像素点P的色彩值,即N=1,如像素区域R的中心;或是选取像素区域R中具有相同/相似颜色最多的像素的色彩值作为小行星特效图片中像素点P的色彩值。
优选地,在本发明一实施例中,对应关系获取模块可以仅对小行星特效图片中每个像素点P的中心进行坐标转换,获取对应的待处理图像中的坐标值,映射模块以待处理图像中的坐标值为中心,计算像素面积为N的像素区域R的色彩值,作为小行星特效图片中像素点P的色彩值,其中,当像素点P靠近圆心时,N>1,当P远离圆心时,N=1。
本发明实施例提供的图像处理装置克服了普通拍摄设备单次拍摄的照片不可能达到360度的全景视角,也无法得到完美的球面全景图的技术问题,可以直接对普通照片进行处理,得到小行星特效图片。
实施例四
在日常使用中,移动终端处理的图像通常不是360度全景图,有时待处理图像的角度甚至要小于90度,在这种情况下,待处理图像左右两侧的图像并不是连续的,拼接在一起时会存在明显的差异。此时直接将待处理图像转换成小行星特效图片,那么θ=0这条线的左右两侧的图案衔接时就会产生很大的突变,无法形成完整的小行星特效图片,从而无法满足用户需求。
为克服上述问题,本发明实施例提供一种图像处理装置,图9是本发明实施例提供的一种图像处理装置框图,如图9所示,图像处理装置900包括:图像获取单元901、特效转换单元902和图片输出单元903和衔接判断单元904,其中:
图像获取单元901,用于获取待处理图像。
在本发明实施例中,图像获取单元901可以对获取到的图像进行旋转和/或剪裁,得到待处理图像,如图5所示,待处理图像的分辨率为W×H,也就是说,A点到F点的距离为W。
衔接判断单元904,用于判断待处理图像的左右两侧是否可以衔接。
在本发明实施例中,衔接判断单元904分别获取待处理图像左右两侧的一列像素,判断两列像素之间是否可以衔接,具体地,可以通过判断两列像素的像素差异来判断两者之间是否可以衔接。
在本发明的另一实施例中,衔接判断单元904还可以获取待处理图像的相关信息,如焦距信息和视角信息,判断待处理图像的视角范围是否是360度,以此来判断待处理图像的左右两侧是否可以衔接。
特效转换单元902,用于对所述的待处理图像进行坐标转换处理,得到小行星特效图片。
当衔接判断单元904判断待处理图像的左右两侧可以衔接时,特效转换单元902对所述的待处理图像进行坐标转换处理,得到小行星特效图片。此时特效转换单元902所做的转换处理与图7所示的特效转换单元702相同,故在此不再赘述。
当衔接判断单元904判断待处理图像的左右两侧不能衔接时,特效转换单元902将待处理图像左右两侧的部分图像划分为融合区域。如图5所示,特效转换单元902将待处理图像左侧A点到C点之间的图像,以及右侧D点到F点的图像划分为融合区域。
进一步地,在本发明的一实施例中,衔接判断单元904可以分别获取待处理图像左右两侧的多列像素,并以此判断左右两侧差异化的程度。特效转换单元902在划分融合区域时,可以根据左右两侧差异化的程度,确定融合区域的大小。比如,当待处理图像左右两侧的像素差异较小时,特效转换单元902可以减小左右两侧的融合区域,即缩短AC之间的距离以及DF之间的距离;当待处理图像左右两侧的像素差异较大时,特效转换单元902可以扩大左右两侧的融合区域,即增加AC之间的距离以及DF之间的距离。
在本发明实施例中,在对待处理图像进行坐标转换处理时,特效转换单元902可以将左右两侧的融合区域合并,对合并后的融合区域与非融合区域进行坐标转换处理,得到小行星特效图片。
左右两侧的融合区域中相对应的两个像素点会合并为一个像素点,特效转换单元902可以同时计算相对应的两个像素点的色彩,然后根据像素点在融合区域中的位置来确定两个像素点色彩的混合系数,并以此计算合并后的像素点的色彩。
优选的,在本发明实施例中,特效转换单元902可以包括:对应关系获取模块和映射模块。
对应关系获取模块以待生成的小行星特效图片的中心为原点建立θ=0轴向下的极坐标系(ρ,θ)。其中:极径ρ的取值范围为[0,ρmax],极角θ的取值范围为[0,2π],
其中,a和b分别为最终输出的矩形小行星特效图片的长和宽,a×b也就是最终输出的矩形图像的分辨率。如图5和图6所示,对应关系获取模块在对所述的待处理图像进行坐标转换处理时,待处理图像最左侧的AC区域和最右侧的DF区域将融合在一起,合并后,A点和D点融合,B点和E点融合,C点和F点融合,其中B点和E点分别为AC和DF的中点。
之后对应关系获取模块获取极坐标系中像素点坐标(ρ,θ)与待处理图像中像素点坐标(x,y)的对应关系。
在本发明实施例中,在待处理图像中,c1=|AB|=|BC|=|DE|=|EF|,c2=|CD|,也就是说,c1为单侧融合区域长度的一半,c2为非融合区域的长度。极坐标系中A点和B点间的角度为β,那么
c1=|AB|=|BC|=|DE|=|EF|=W×β/(2π+2β);
c2=|CD|=W-2×c1。
具体变换规则为:y的变换要满足ρ=0时y=H;ρ=ρmax时y=0。可以选择使用线性变换获得y与ρ的对应关系,即
也可以使用其它变换,比如二次变换等。
x的变换要分以下情况分别处理:
当像素点位于融合区域之内时,θ的取值范围为(0,β)或(2π-β,2π]时,需要同时计算两个点x1,x2的值,具体的公式分成两部分:
当θ的取值范围为(0,β)时:x1=c1×(β-θ)/β(在AB内);x2=x1+2×c1+c2(在DE内);mix=0.5×(β-θ)/β;
当θ的取值范围为(2π-β,2π]时:x1=c1+c1×(2π-θ)/β(在BC内);x2=x1+2×c1+c2(在EF内);mix=0.5+0.5×(2π-θ)/β;
当像素点位于融合区域之外时,θ的取值范围为[β,2π-β]时,只需要计算一个x值:x=2×c1+c2×(2π-β-θ)/(2π-2β),
其中x的取值范围为[0,W];y的取值范围为[0,H]。
映射模块根据对应关系获取模块得到的对应关系,将所述待处理图像中的每个像素点映射至小行星特效图片中,得到小行星特效图片。
当像素点位于融合区域之外时,映射模块直接将待处理图像中的像素点映射到小行星特效图片中;
当像素点位于融合区域之内时,映射模块需要对被融合的两个像素点的颜色进行计算后映射到小行星特效图片中,优选地,可以根据x1与x2两个点的值以及混合系数mix来得到最终映射的色彩值color=color(x1,y)×mix+color(x2,y)×(1-mix);
当θ的取值范围为(0,β)时:mix=0.5×(β-θ)/β;
当θ的取值范围为(2π-β,2π]时:mix=0.5+0.5×(2π-θ)/β。
图片输出单元903,用于输出所述小行星特效图片。
在本发明实施例中,图片输出单元903输出圆形小行星特效图片,也可以输出剪裁后的矩形小行星特效图片。
本发明实施例提供的图像处理装置克服了普通拍摄设备单次拍摄的照片达不到360度的全景视角时,也无法生成完整的小行星特效图片的技术问题,可以首先对普通照片的两侧进行判断,判断两侧是否能衔接上,在不能衔接时划分出融合区域并进行转换,减小了无法衔接部分的突变程度,得到过渡更为自然的小行星特效图片。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。