一种图片拼接方法及移动终端的制作方法

文档序号:10595013阅读:347来源:国知局
一种图片拼接方法及移动终端的制作方法
【专利摘要】本发明公开了一种图片拼接方法及移动终端,用以解决按照图片资源已有的图形进行横向或纵向绘制导致拼接图片的效果单一的问题。方法为:移动终端获取待拼接的至少两张图片;所述移动终端根据待拼接的所述图片的数量确定拼接图形,并确定所述拼接图形中的每个拼接区域各自对应的所述图片,其中,所述拼接图形中包含与待拼接的所述图片的数量相同的拼接区域,并且所述拼接图形中至少有两个拼接区域边界的形状不相同;所述移动终端分别针对所述拼接图形中的每个拼接区域,从所述拼接区域对应的所述图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域的每个像素填充所述拼接区域。
【专利说明】
一种图片拼接方法及移动终端
技术领域
[0001]本发明涉及通信技术领域,尤其涉及一种图片拼接方法及移动终端。
【背景技术】
[0002]随着通信技术的发展以及移动终端应用的普及,移动终端所支持的功能越来越多。目前,移动终端需要根据用户的需求对图片进行编辑,为用户提供编辑后的图片,以将编辑后的图片应用到其它应用中。
[0003 ]以支持Andro id系统的移动终端为例,移动终端进行图片拼接的实现过程如下:移动终端采用Andro i d系统提供的画布(Canvas)类中的绘画(Canvas.draw)方法,将需要拼接的图片按照横向或纵向的排列顺序,依次在Canvas类提供的画布中绘制出来,以形成图片拼接的效果,如图1所示。
[0004]现有的图片拼接方法存在的问题在于:由于Android系统中的Canvas.draw是按照图片资源已有的图形进行横向或纵向绘制,因此,每张图片在最终的拼接图片中是以矩形的形式呈现,导致得到的拼接图片的效果单一。

【发明内容】

[0005]本发明实施例提供一种图片拼接方法及移动终端,用以解决按照图片资源已有的图形进行横向或纵向绘制导致拼接图片的效果单一的问题。
[0006]本发明实施例提供的具体技术方案如下:
[0007]第一方面,本发明实施例提供了一种图片拼接方法,包括:
[0008]移动终端获取待拼接的至少两张图片;
[0009]所述移动终端根据待拼接的所述图片的数量确定拼接图形,并确定所述拼接图形中的每个拼接区域各自对应的所述图片,其中,所述拼接图形中包含与待拼接的所述图片的数量相同的拼接区域,并且所述拼接图形中至少有两个拼接区域边界的形状不相同;
[0010]所述移动终端分别针对所述拼接图形中的每个拼接区域,从所述拼接区域对应的所述图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域的每个像素填充所述拼接区域。
[0011]可能的实施方式中,所述移动终端根据待拼接的图片的数量确定拼接图形,包括:
[0012]所述移动终端根据待拼接的图片的数量确定至少一个拼接图形,其中,确定的每个所述拼接图形各自包含与所述待拼接的图片的数量相同的拼接区域;
[0013]所述移动终端根据监测到的选择指示从所述至少一个拼接图形中选择一个拼接图形。
[0014]可能的实施方式中,所述拼接图形为矩形。
[0015]可能的实施方式中,所述移动终端从所述拼接区域对应的所述图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域的每个像素填充所述拼接区域之后,所述方法还包括:
[0016]所述移动终端根据监测到的针对所述拼接区域的操作指示,调整填充至所述拼接区域中的像素。
[0017]可能的实施方式中,所述移动终端根据监测到的针对所述拼接区域的操作指示,调整填充至所述拼接区域中的像素,包括:
[0018]所述移动终端若确定所述操作指示用于指示:采用除所述至少两张图片之外的一张图片更新所述拼接区域对应的图片,根据所述操作指示获取除所述至少两张图片之外的一张图片,从所述除所述至少两张图片之外的一张图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域;
[0019]所述移动终端若确定所述操作指示用于指示:将所述拼接区域与另一拼接区域对应的图片调换,根据所述操作指示获取所述另一拼接区域对应的图片,从所述另一区域对应的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域;
[0020]所述移动终端若确定所述操作指示用于指示:对所述拼接区域对应的图片放大N倍,根据所述操作指示对所述拼接区域对应的图片放大N倍后,从放大后的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域;
[0021]所述移动终端若确定所述操作指示用于指示:对所述拼接区域对应的图片缩小N倍,根据所述操作指示对所述拼接区域对应的图片缩小N倍后,从缩小后的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的的区域中的每个像素填充所述拼接区域;
[0022]所述移动终端若确定所述操作指示用于指示:重新在所述拼接区域对应的图片中选取与所述拼接区域的大小和形状相同的区域,根据所述操作指示重新从所述拼接区域对应的图片中选择与所述拼接区域的大小和形状相同的区域,采用重新选择的区域中的每个像素填充所述拼接区域;
[0023]所述移动终端若确定所述操作指示用于指示:对所述拼接区域对应的所述图片旋转的方向和角度,根据所述操作指示对所述拼接区域对应的所述图片进行旋转后,从旋转后的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域;
[0024]所述移动终端若确定所述操作指示用于指示:对所述拼接区域对应的所述图片反向显示,根据所述操作指示对所述拼接区域中每个像素点(x,y)的值,修改为像素点(x,M-y)的值,其中,M表示所述拼接区域中y轴方向的最大值。
[0025]第二方面,本发明实施例提供了一种移动终端,包括:
[0026]第一处理模块,用于获取待拼接的至少两张图片;
[0027]第二处理模块,用于根据待拼接的所述图片的数量确定拼接图形,并确定所述拼接图形中的每个拼接区域各自对应的所述图片,其中,所述拼接图形中包含与待拼接的所述图片的数量相同的拼接区域,并且所述拼接图形中至少有两个拼接区域边界的形状不相同;
[0028]第三处理模块,用于分别针对所述拼接图形中的每个拼接区域,从所述拼接区域对应的所述图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域的每个像素填充所述拼接区域。
[0029]可能的实施方式中,所述第二处理模块具体用于:
[0030]根据待拼接的图片的数量确定至少一个拼接图形,其中,确定的每个所述拼接图形各自包含与所述待拼接的图片的数量相同的拼接区域;
[0031]根据监测到的选择指示从所述至少一个拼接图形中选择一个拼接图形。
[0032]可能的实施方式中,所述拼接图形为矩形。
[0033]可能的实施方式中,所述第三处理模块还用于:
[0034]从所述拼接区域对应的所述图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域的每个像素填充所述拼接区域之后,根据监测到的针对所述拼接区域的操作指示,调整填充至所述拼接区域中的像素。
[0035]可能的实施方式中,所述第三处理模块具体用于:
[0036]若确定所述操作指示用于指示:采用除所述至少两张图片之外的一张图片更新所述拼接区域对应的图片,根据所述操作指示获取除所述至少两张图片之外的一张图片,从所述除所述至少两张图片之外的一张图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域;
[0037]若确定所述操作指示用于指示:将所述拼接区域与另一拼接区域对应的图片调换,根据所述操作指示获取所述另一拼接区域对应的图片,从所述另一区域对应的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域;
[0038]若确定所述操作指示用于指示:对所述拼接区域对应的图片放大N倍,根据所述操作指示对所述拼接区域对应的图片放大N倍后,从放大后的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域;
[0039]若确定所述操作指示用于指示:对所述拼接区域对应的图片缩小N倍,根据所述操作指示对所述拼接区域对应的图片缩小N倍后,从缩小后的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的的区域中的每个像素填充所述拼接区域;
[0040]若确定所述操作指示用于指示:重新在所述拼接区域对应的图片中选取与所述拼接区域的大小和形状相同的区域,根据所述操作指示重新从所述拼接区域对应的图片中选择与所述拼接区域的大小和形状相同的区域,采用重新选择的区域中的每个像素填充所述拼接区域;
[0041]若确定所述操作指示用于指示:对所述拼接区域对应的所述图片旋转的方向和角度,根据所述操作指示对所述拼接区域对应的所述图片进行旋转后,从旋转后的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域;
[0042]若确定所述操作指示用于指示:对所述拼接区域对应的所述图片反向显示,根据所述操作指示对所述拼接区域中每个像素点(X,y)的值,修改为像素点(X,M-y)的值,其中,M表示所述拼接区域中y轴方向的最大值。
[0043]基于上述技术方案,本发明实施例中,移动终端根据待拼接的图片的数量确定拼接图形,所述拼接图形中包含与待拼接的所述图片的数量相同的拼接区域,并且所述拼接图形中至少有两个拼接区域边界的形状不相同,按照拼接区域的大小和形状从该拼接区域对应的图片中选取填充区域,并将选取的填充区域中的每个像素写入该拼接区域后,能够保证每个图片在拼接图形中的形状不完全相同,使得得到的拼接图片的效果呈现多样性,解决了按照图片资源已有的图形进行横向或纵向绘制导致拼接图片的效果单一的问题。
【附图说明】
[0044]图1为现有的图片拼接示意图;
[0045]图2为本发明实施例中移动终端进行图片拼接的方法流程示意图;
[0046]图3为本发明实施例中拼接图片的效果示意图;
[0047]图4a为本发明实施例中View示意图一;
[0048]图4b为本发明实施例中View示意图二;
[0049]图4c为本发明实施例中View示意图三;
[0050]图5为本发明实施例中基于Android操作系统进行图片拼接的过程示意图;
[0051 ]图6为本发明实施例中移动终端的结构示意图。
【具体实施方式】
[0052]为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0053]为了解决现有的移动终端按照图片资源已有的图形进行横向或纵向绘制导致拼接图片的效果单一的问题,本发明实施例提供了一种图片拼接方法,应用于移动终端。
[0054]以下结合附图对本发明优选地实施方式进行详细说明。
[0055]本发明实施例中所提供的图像拼接的方法,可以作为一个功能模块嵌入到移动终端的操作系统中,或者,可以作为一个应用的客户端程序安装到移动终端中。
[0056]本发明实施例中,如图2所示,移动终端进行图片拼接的详细方法流程如下:
[0057]步骤201:移动终端获取待拼接的至少两张图片。
[0058]实施中,移动终端根据用户操作获取待拼接的至少两张图片。具体地,移动终端从保存的图片中获取用户指定的待拼接的图片。
[0059]其中,待拼接的图片的数量大于或等于2。
[0060]步骤202:移动终端根据待拼接的图片的数量确定拼接图形,并确定拼接图形中的每个拼接区域各自对应的图片,其中,拼接图形中包含与待拼接的图片的数量相同的拼接区域,并且拼接图形中至少有两个拼接区域边界的形状不相同。
[0061]—个具体实施中,移动终端根据待拼接的图片的数量确定至少一个拼接图形,其中,确定的每个拼接图形各自包含与待拼接的图片的数量相同的拼接区域;移动终端根据监测到的选择指示从该至少一个拼接图形中选择一个拼接图形。
[0062]优选地,拼接图形为矩形,并且拼接图形中至少有两个拼接区域边界的形状不相同。需要说明的是此处为一个优选地实施方式,而并非是必须的实施方式。应用中,拼接图形的形状可以是任意形状;拼接图形中的每个拼接区域边界的形状可以是任意形状;拼接图形中的每个拼接区域边界的形状可以相同,也可以是各不相同,也可以是某几个拼接区域边界的形状相同。
[0063]应用中,移动终端中保存待拼接的图片的数量对应的多个拼接图形,该多个拼接图形中的每个均包含与待拼接的图片的数量相同的拼接区域,该多个拼接图形之间的不同之处在于拼接区域的形状以及位置分布。
[0064]步骤203:移动终端分别针对拼接图形中的每个拼接区域,从该拼接区域对应的图片中选择与该拼接区域的大小和形状相同的区域,采用选择的区域的每个像素填充该拼接区域。
[0065]其中,移动终端分别对拼接图形中的每个拼接区域进行填充后,得到拼接图片。
[0066]可选地,针对任意一个拼接区域,移动终端从该拼接区域对应的图片中选择与该拼接区域的大小和形状相同的区域,采用选择的区域的每个像素填充该拼接区域之后,移动终端根据监测到的针对该拼接区域的操作指示,调整填充至该拼接区域中的像素。
[0067]具体地,移动终端根据监测到的针对该拼接区域的操作指示,调整填充至该拼接区域中的像素,包括但不限于以下列举的实现方式:
[0068]第一,移动终端若确定操作指示用于指示:采用除步骤201所获取的至少两张图片之外的一张图片更新该拼接区域对应的图片,根据该操作指示获取除步骤201所获取的至少两张图片之外的一张图片,从该除步骤201所获取的至少两张图片之外的一张图片中选择与该拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充该拼接区域。
[0069]第二,移动终端若确定操作指示用于指示:将拼接区域与另一拼接区域对应的图片调换,根据该操作指示获取该另一拼接区域对应的图片,从该另一区域对应的图片中选择与该拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充该拼接区域。
[0070]第三,移动终端若确定操作指示用于指示:对拼接区域对应的图片放大N倍,根据该操作指示对该拼接区域对应的图片放大N倍后,从放大后的图片中选择与该拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充该拼接区域。例如,将拼接区域对应的图片放大N倍,可以是将该图片的宽度放大N倍,并将该图片的高度放大N倍。
[0071]第四,移动终端若确定操作指示用于指示:对拼接区域对应的图片缩小N倍,根据该操作指示对该拼接区域对应的图片缩小N倍后,从缩小后的图片中选择与该拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充该拼接区域。例如,将拼接区域对应的图片缩小N倍,可以是将该图片的宽度缩小N倍,并将该图片的高度缩小N倍。
[0072]第五,移动终端若确定操作指示用于指示:重新在拼接区域对应的图片中选取与该拼接区域的大小和形状相同的区域,根据该操作指示重新从该拼接区域对应的图片中选择与该拼接区域的大小和形状相同的区域,采用重新选择的区域中的每个像素填充该拼接区域。
[0073]第六,移动终端若确定操作指示用于指示:对拼接区域对应的图片旋转的方向和角度,根据该操作指示对该拼接区域对应的图片进行旋转后,从旋转后的图片中选择与该拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充该拼接区域。
[0074]第七,移动终端若确定操作指示用于指示:对拼接区域对应的图片反向显示,根据操作指示对拼接区域中每个像素点(X,y)的值,修改为像素点(X,M-y)的值,其中,M表示拼接区域中y轴方向的最大值。
[0075]如图3所示为移动终端采用本发明实施例提供的图片拼接方法,对三张图片进行拼接后得到的拼接图片。
[0076]以下以基于Android操作系统的移动终端为例,对移动终端进行图片拼接的过程进行具体说明。
[0077]该具体实施例的设计思路为:在基于Android操作系统的移动终端中,通过Android操作系统中的视图(View)组件定义函数onDraw,在Android操作系统中的android.graphics.Canvas类提供的画布(Canvas)中绘制多种形状的路径(Path),此处的路径为形成拼接区域(Reg1n)的边界。将待拼接的图片的局部或全部以填充效果的形式绘制到路径限定的拼接区域中,从而在得到的拼接图片中呈现多样化的效果。由于绘制的路径在同一个View中,在实际使用过程中,可以按照产品策划预先设置多个View,在不同的View中定义不同的路径组合,以实现图片拼接方式的多样性。例如,如图4a、图4b和图4c所示为三种不同的路径组合得到的View的示意图。
[0078]进一步地,移动终端通过判断用户触屏操作所在的拼接区域,确定对哪个拼接区域进行何种操作,例如,移动终端根据用户对某一拼接区域的触屏操作,更换该拼接区域填充的图片,对拼接区域填充的图片进行缩放,拖动该拼接区域对应的图片的位置以调整该拼接区域填充的内容为该图片的特定区域,对该拼接区域填充的图片内容进行旋转,替换该拼接区域填充的图片,方向显示该拼接区域填充的图片。
[0079]其中,View组件是Android操作系统中所有用户界面(User Interface,UI)控件、容器控件的基类。
[0080]基于该思路,如图5所示,该具体实施例中移动终端基于Android操作系统进行图片拼接的过程如下:
[00811 步骤一,在Android操作系统中创建View类,并在该View类中实现函数onDraw,定义一个path对象,该path对象通过Canvas上的坐标点定义,并在Canvas上绘制出该path;
[0082]步骤二,将待拼接的图片转换为位图(bitmap)并加载到内存,通过Android操作系统中的BitmapShader函数将位图设置为填充图形,通过paint函数将BitmapShader函数设置的填充图形绘制到path形成的Reg i on中;
[0083]步骤三,根据监测到的用户手指的触点坐标所在的Reg1n来区分是对哪张图片进行编辑,该具体实施例中,在View中定义手势识别器(Gesture Detector),对触屏(ontouch)的事件(event)进行识别,判断该触屏的事件是哪种手势,将监测到触屏的事件传送给Gesture Detector,由Gesture Detector返回识别出的手势;
[0084]步骤四,根据触屏的事件的坐标位置判断该事件所在的Regi on,根据Ge stureDetector识别出的手势,并按照预定义的规则对该Reg1n中的图片进行相应操作;
[0085]步骤五,当监测到退出View的显示界面的操作时,Android操作系统调用垃圾回收机制进行资源回收,即调用用于回收图片资源的函数(RecycleBitmap),以释放加载至内存的图片资源,避免出现内存泄露。
[0086]其中,Gesture Detector能够识别的事件包括一个手指接触屏幕(表示为ACT10N_DOWN(O),其中,O为用于表征一个手指接触屏幕事件的数值),接触屏幕并移动(表示为ACT10N_M0VE(2),其中,2为用于表征接触屏幕并移动事件的数值),接触屏幕后离开屏幕(表示为ACT10N_UP(1),其中,I为用于表征接触屏幕后离开屏幕事件的数值),两个手指接触屏幕(表示为ACT10N_P0INTER_2_D0WN(261),其中,261用于表征两个手指接触屏幕事件的数值),长时间按压屏幕(Longpress),屏幕上滑动(Scroll)等。
[0087]基于同一发明构思,本发明实施例中还提供一种移动终端,该移动终端的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图6所示,该移动终端主要包括:
[0088]第一处理模块601,用于获取待拼接的至少两张图片;
[0089]第二处理模块602,用于根据待拼接的所述图片的数量确定拼接图形,并确定所述拼接图形中的每个拼接区域各自对应的所述图片,其中,所述拼接图形中包含与待拼接的所述图片的数量相同的拼接区域,并且所述拼接图形中至少有两个拼接区域边界的形状不相同;
[0090]第三处理模块603,用于分别针对所述拼接图形中的每个拼接区域,从所述拼接区域对应的所述图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域的每个像素填充所述拼接区域。
[0091 ]可能的实施方式中,所述第二处理模块具体用于:
[0092]根据待拼接的图片的数量确定至少一个拼接图形,其中,确定的每个所述拼接图形各自包含与所述待拼接的图片的数量相同的拼接区域;
[0093]根据监测到的选择指示从所述至少一个拼接图形中选择一个拼接图形。
[0094]可能的实施方式中,所述拼接图形为矩形。
[0095]可能的实施方式中,所述第三处理模块还用于:
[0096]从所述拼接区域对应的所述图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域的每个像素填充所述拼接区域之后,根据监测到的针对所述拼接区域的操作指示,调整填充至所述拼接区域中的像素。
[0097]可能的实施方式中,所述第三处理模块具体用于:
[0098]若确定所述操作指示用于指示:采用除所述至少两张图片之外的一张图片更新所述拼接区域对应的图片,根据所述操作指示获取除所述至少两张图片之外的一张图片,从所述除所述至少两张图片之外的一张图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域;
[0099]若确定所述操作指示用于指示:将所述拼接区域与另一拼接区域对应的图片调换,根据所述操作指示获取所述另一拼接区域对应的图片,从所述另一区域对应的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域;
[0100]若确定所述操作指示用于指示:对所述拼接区域对应的图片放大N倍,根据所述操作指示对所述拼接区域对应的图片放大N倍后,从放大后的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域;
[0101]若确定所述操作指示用于指示:对所述拼接区域对应的图片缩小N倍,根据所述操作指示对所述拼接区域对应的图片缩小N倍后,从缩小后的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的的区域中的每个像素填充所述拼接区域;
[0102]若确定所述操作指示用于指示:重新在所述拼接区域对应的图片中选取与所述拼接区域的大小和形状相同的区域,根据所述操作指示重新从所述拼接区域对应的图片中选择与所述拼接区域的大小和形状相同的区域,采用重新选择的区域中的每个像素填充所述拼接区域;
[0103]若确定所述操作指示用于指示:对所述拼接区域对应的所述图片旋转的方向和角度,根据所述操作指示对所述拼接区域对应的所述图片进行旋转后,从旋转后的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域;
[0104]若确定所述操作指示用于指示:对所述拼接区域对应的所述图片反向显示,根据所述操作指示对所述拼接区域中每个像素点(X,y)的值,修改为像素点(X,M-y)的值,其中,M表示所述拼接区域中y轴方向的最大值。
[0105]基于上述技术方案,本发明实施例中,移动终端根据待拼接的图片的数量确定拼接图形,所述拼接图形中包含与待拼接的所述图片的数量相同的拼接区域,并且所述拼接图形中至少有两个拼接区域边界的形状不相同,按照拼接区域的大小和形状从该拼接区域对应的图片中选取填充区域,并将选取的填充区域中的每个像素写入该拼接区域后,能够保证每个图片在拼接图形中的形状不完全相同,使得得到的拼接图片的效果呈现多样性,解决了按照图片资源已有的图形进行横向或纵向绘制导致拼接图片的效果单一的问题。
[0106]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0107]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0108]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0109]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0110]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1.一种图片拼接方法,其特征在于,包括: 移动终端获取待拼接的至少两张图片; 所述移动终端根据待拼接的所述图片的数量确定拼接图形,并确定所述拼接图形中的每个拼接区域各自对应的所述图片,其中,所述拼接图形中包含与待拼接的所述图片的数量相同的拼接区域,并且所述拼接图形中至少有两个拼接区域边界的形状不相同; 所述移动终端分别针对所述拼接图形中的每个拼接区域,从所述拼接区域对应的所述图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域的每个像素填充所述拼接区域。2.如权利要求1所述的方法,其特征在于,所述移动终端根据待拼接的图片的数量确定拼接图形,包括: 所述移动终端根据待拼接的图片的数量确定至少一个拼接图形,其中,确定的每个所述拼接图形各自包含与所述待拼接的图片的数量相同的拼接区域; 所述移动终端根据监测到的选择指示从所述至少一个拼接图形中选择一个拼接图形。3.如权利要求1所述的方法,其特征在于,所述拼接图形为矩形。4.如权利要求1、2或3所述的方法,其特征在于,所述移动终端从所述拼接区域对应的所述图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域的每个像素填充所述拼接区域之后,所述方法还包括: 所述移动终端根据监测到的针对所述拼接区域的操作指示,调整填充至所述拼接区域中的像素。5.如权利要求4所述的方法,其特征在于,所述移动终端根据监测到的针对所述拼接区域的操作指示,调整填充至所述拼接区域中的像素,包括: 所述移动终端若确定所述操作指示用于指示:采用除所述至少两张图片之外的一张图片更新所述拼接区域对应的图片,根据所述操作指示获取除所述至少两张图片之外的一张图片,从所述除所述至少两张图片之外的一张图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域; 所述移动终端若确定所述操作指示用于指示:将所述拼接区域与另一拼接区域对应的图片调换,根据所述操作指示获取所述另一拼接区域对应的图片,从所述另一区域对应的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域; 所述移动终端若确定所述操作指示用于指示:对所述拼接区域对应的图片放大N倍,根据所述操作指示对所述拼接区域对应的图片放大N倍后,从放大后的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域; 所述移动终端若确定所述操作指示用于指示:对所述拼接区域对应的图片缩小N倍,根据所述操作指示对所述拼接区域对应的图片缩小N倍后,从缩小后的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的的区域中的每个像素填充所述拼接区域; 所述移动终端若确定所述操作指示用于指示:重新在所述拼接区域对应的图片中选取与所述拼接区域的大小和形状相同的区域,根据所述操作指示重新从所述拼接区域对应的图片中选择与所述拼接区域的大小和形状相同的区域,采用重新选择的区域中的每个像素填充所述拼接区域; 所述移动终端若确定所述操作指示用于指示:对所述拼接区域对应的所述图片旋转的方向和角度,根据所述操作指示对所述拼接区域对应的所述图片进行旋转后,从旋转后的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域; 所述移动终端若确定所述操作指示用于指示:对所述拼接区域对应的所述图片反向显示,根据所述操作指示对所述拼接区域中每个像素点(x,y)的值,修改为像素点(x,M-y)的值,其中,M表示所述拼接区域中y轴方向的最大值。6.一种移动终端,其特征在于,包括: 第一处理模块,用于获取待拼接的至少两张图片; 第二处理模块,用于根据待拼接的所述图片的数量确定拼接图形,并确定所述拼接图形中的每个拼接区域各自对应的所述图片,其中,所述拼接图形中包含与待拼接的所述图片的数量相同的拼接区域,并且所述拼接图形中至少有两个拼接区域边界的形状不相同; 第三处理模块,用于分别针对所述拼接图形中的每个拼接区域,从所述拼接区域对应的所述图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域的每个像素填充所述拼接区域。7.如权利要求6所述的移动终端,其特征在于,所述第二处理模块具体用于: 根据待拼接的图片的数量确定至少一个拼接图形,其中,确定的每个所述拼接图形各自包含与所述待拼接的图片的数量相同的拼接区域; 根据监测到的选择指示从所述至少一个拼接图形中选择一个拼接图形。8.如权利要求6所述的移动终端,其特征在于,所述拼接图形为矩形。9.如权利要求6、7或8所述的移动终端,其特征在于,所述第三处理模块还用于: 从所述拼接区域对应的所述图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域的每个像素填充所述拼接区域之后,根据监测到的针对所述拼接区域的操作指示,调整填充至所述拼接区域中的像素。10.如权利要求9所述的移动终端,其特征在于,所述第三处理模块具体用于: 若确定所述操作指示用于指示:采用除所述至少两张图片之外的一张图片更新所述拼接区域对应的图片,根据所述操作指示获取除所述至少两张图片之外的一张图片,从所述除所述至少两张图片之外的一张图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域; 若确定所述操作指示用于指示:将所述拼接区域与另一拼接区域对应的图片调换,根据所述操作指示获取所述另一拼接区域对应的图片,从所述另一区域对应的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域; 若确定所述操作指示用于指示:对所述拼接区域对应的图片放大N倍,根据所述操作指示对所述拼接区域对应的图片放大N倍后,从放大后的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域; 若确定所述操作指示用于指示:对所述拼接区域对应的图片缩小N倍,根据所述操作指示对所述拼接区域对应的图片缩小N倍后,从缩小后的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的的区域中的每个像素填充所述拼接区域; 若确定所述操作指示用于指示:重新在所述拼接区域对应的图片中选取与所述拼接区域的大小和形状相同的区域,根据所述操作指示重新从所述拼接区域对应的图片中选择与所述拼接区域的大小和形状相同的区域,采用重新选择的区域中的每个像素填充所述拼接区域; 若确定所述操作指示用于指示:对所述拼接区域对应的所述图片旋转的方向和角度,根据所述操作指示对所述拼接区域对应的所述图片进行旋转后,从旋转后的图片中选择与所述拼接区域的大小和形状相同的区域,采用选择的区域中的每个像素填充所述拼接区域; 若确定所述操作指示用于指示:对所述拼接区域对应的所述图片反向显示,根据所述操作指示对所述拼接区域中每个像素点(X,y)的值,修改为像素点(X,M-y)的值,其中,M表示所述拼接区域中y轴方向的最大值。
【文档编号】G06T5/50GK105957012SQ201610377915
【公开日】2016年9月21日
【申请日】2016年5月31日
【发明人】王建磊
【申请人】青岛海信移动通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1