发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的实现图片拼接的装置和相应的实现图片拼接的方法。
依据本发明的一个方面,提供了一种实现图片拼接的装置,其中,该装置包括:模板库单元、图片提取单元、匹配单元和拼图单元;
所述模板库单元,适于保存多种拼图模板;
所述图片提取单元,适于从图片源中提取指定个数的图片并保存,对所保存的各图片进行分类,得到分类结果后通知所述匹配单元;还适于在收到所述匹配单元的通知时,从所保存的图片中删除预定个数的图片,或从图片源中再获取预定个数的图片进行保存,然后对所保存的图片重新进行分类,将分类结果通知所述匹配单元;
所述匹配单元,适于在收到所述图片提取单元通知的分类结果时,从所述模板库单元中查找与所述分类结果匹配的拼图模板,如果没有查找到匹配的拼图模板,则向所述图片提取单元发送通知,如果查找到一个以上的匹配的拼图模板,则从中选择一个拼图模板,将所选择的拼图模板通知所述拼图单元;
所述拼图单元,适于将所述图片提取单元中保存的各图片按类型套用到匹配单元所通知的拼图模板中的各图框内,生成拼接后的图片。
可选地,所述图片提取单元,适于对所保存的各图片按照尺寸以及横图和/或竖图进行分类,得到每种尺寸的横图的个数和/或每种尺寸的竖图的个数,并通知所述匹配单元。
可选地,所述匹配单元,适于在收到所述图片提取单元通知的每种尺寸的横图的个数和/或每种尺寸的竖图的个数时,从所述模板库单元中查找对应尺寸的横图框个数大于或等于图片提取单元通知的对应尺寸的横图个数,和/或对应尺寸的竖图框个数大于或等于获取单元通知的对应尺寸的竖图个数的拼图模板。
可选地,所述图片源为本地图片源或服务器端的图片数据库;所述图片提取单元,适于从本地图片源中或者服务器上的图片数据库中提取指定个数的图片并保存。
根据本发明的另一方面,提供了一种实现图片拼接的方法,其中,该方法包括:
从图片源中提取指定个数的图片;
对已获取的各图片进行分类,得到分类结果;
从预设的包括多种拼图模板的模板库中查找与所述分类结果匹配的拼图模板;
如果没有查找到匹配的拼图模板,则从已获取的图片中删除预定个数的图片,或从图片源中再获取预定个数的图片增加到已获取的图片中,返回所述对已获取的各图片进行分类的步骤;
如果查找到一个以上的匹配的拼图模板,则从所述一个以上的匹配的拼图模板中,选择一个拼图模板,将已获取的各图片按类型套用到所选择的拼图模板中的各图框内,生成拼接后的图片。
可选地,所述对已获取的各图片进行分类,得到分类结果包括:
对已获取的各图片按照尺寸以及横图和/或竖图进行分类,得到每种尺寸的横图的个数和/或每种尺寸的竖图的个数。
可选地,所述从预设的包括多种拼图模板的模板库中查找与所述分类结果匹配的拼图模板包括:
从模板库中查找,对应尺寸的横图框个数大于或等于已获取图片中的对应尺寸的横图个数,和/或对应尺寸的竖图框个数大于或等于已获取图片中的对应尺寸的竖图个数的拼图模板。
可选地,所述图片源为本地图片源;或者,所述图片源为服务器端的图片数据库。
可选地,所述从图片源中提取指定个数的图片包括:从图片源中按指定顺序和/或随机提取指定个数的图片。
可选地,在生成拼接后的图片之后,该方法进一步包括:将所述生成的图片设置为系统的桌面背景。
可选地,该方法进一步包括:重复所述从图片源中提取指定个数的图片至所述生成拼接后的图片的步骤,生成多个拼接后的图片,并按指定顺序播放所述多个拼接后的图片。
可选地,该方法进一步包括:在生成拼接后的图片之后,将所述生成的图片设置为系统的桌面背景幻灯片,预设时间后返回所述从图片源中提取指定个数的图片的步骤。
根据本发明的这种从图片源中提取指定个数的图片,对已获取的各图片进行分类,得到分类结果,从预设的包括多种拼图模板的模板库中查找与所述分类结果匹配的拼图模板;如果没有查找到匹配的拼图模板,则从已获取的图片中删除预定个数的图片,或从图片源中再获取预定个数的图片增加到已获取的图片中,返回所述对已获取的各图片进行分类的步骤;如果查找到一个以上的匹配的拼图模板,则从所述一个以上的匹配的拼图模板中,选择一个拼图模板,将已获取的各图片按类型套用到所选择的拼图模板中的各图框内,生成拼接后的图片的技术方案,能够实现智能适配图片和模板,生成拼接后的图片,由此解决了现有的桌面设置和幻灯片播放等应用中只能展示单张图片的问题,以及采用提供的模板进行拼图时需要手动匹配图片和模板,耗时耗力的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图2示出了根据本发明一个实施例的一种实现图片拼接的方法的流程图。如图2所示,该方法包括:
步骤S210,从图片源中提取指定个数的图片。
在本发明的一个实施例中,所述图片源可以为本地的图片源,如可以是设置的本地文件夹,该文件夹中包含图片。例如,可以是放置关于某项活动的照片的文件夹,如关于旅游的照片文件夹,婚纱照的文件夹等。或者,在本发明的另一个实施例中,所述图片源也可以为服务器端的图片数据库。
在本发明的一个实施例中,从图片源中按指定顺序提取指定个数的图片;或者,从图片源中随机提取指定个数的图片;再或者,从图片源中按指定顺序提取一部分图片,从图片源中随机提取另一部分图片。
步骤S220,对已获取的各图片进行分类,得到分类结果。
在本发明的一个实施例中,可以对已获取的各图片按照尺寸以及横图和/或竖图进行分类,得到每种尺寸的横图的个数和/或每种尺寸的竖图的个数。具体来说:
(1)如果获取的图片都为横图,则按照图片尺寸以及横图进行分类。例如分类结果为:尺寸为a1*b1的横图个数为x1张,尺寸为c1*d1的横图个数为y1张,尺寸为e1*f1的横图个数为z1张。
(2)如果获取的图片都为竖图,则按照图片尺寸以及竖图进行分类。例如分类结果为:尺寸为a2*b2的竖图个数为x2张,尺寸为c2*d2的竖图个数为y2张,尺寸为e2*f2的竖图个数为z2张。
(3)如果获取的图片中既有横图又有竖图,则按照图片尺寸以及横图和竖图进行分类。例如分类结果为:尺寸为a1*b1的横图个数为x3张,尺寸为c2*d2的竖图个数为y3张,尺寸为e2*f2的竖图个数为z3张。
步骤S230,从预设的包括多种拼图模板的模板库中查找与所述分类结果匹配的拼图模板。
在本发明的一个实施例中,从预设的包括多种拼图模板的模板库中查找与所述分类结果匹配的拼图模板具体可以为:从模板库中查找,对应尺寸的横图框个数大于或等于已获取图片中的对应尺寸的横图个数,和/或对应尺寸的竖图框个数大于或等于已获取图片中的对应尺寸的竖图个数的拼图模板。
例如,分类结果为:尺寸为a1*b1的横图个数为x1张,尺寸为c1*d1的横图个数为y1张,尺寸为e1*f1的横图个数为z1张。则从图片库中查找,尺寸为a1*b1的横框个数大于或等于x1,尺寸为c1*d1的横框个数大于或等于y1,尺寸为e1*f1的横框个数大于或的等于z1的拼图模板。
又例如,分类结果为:尺寸为a1*b1的横图个数为x3张,尺寸为c2*d2的竖图个数为y3张,尺寸为e2*f2的竖图个数为z3张。则从图片库中查找,尺寸为a1*b1的横框个数大于或等于x3,尺寸为c2*d2的竖框个数大于或等于y3,尺寸为e2*f2的竖框个数大于或等于z3的拼图模板。
这里,匹配的模板分为“全匹配模板”和“子集匹配模板”。“全匹配模板”是指模板的图框个数与对应图片的个数完全匹配,例如图片的分类结果为:3张尺寸为a1*b1的横图和2张尺寸为e2*f2的竖图,则“全匹配模板”正好由尺寸为a1*b1的3个横框和尺寸为e2*f2的2个竖框组成。“子集匹配模板”是指模板中个图框个数比对应图片的个数多,例如图片的分类结果为2张尺寸为a1*b1的横图和1张尺寸为e2*f2的竖图,则由尺寸为a1*b1的3个横框和尺寸为e2*f2的2个竖框组成的模板为“子集匹配模板”。对于子集匹配模板,一张图片可以允许出现在多个图框中,即在多出来的图框中重复套入图片。
步骤S240,判断是否查找到一个以上的匹配的拼图模板,是则执行步骤S260,否则执行步骤S250。
步骤S250,如果没有查找到匹配的拼图模板,则从已获取的图片中删除预定个数的图片,或从图片源中再获取预定个数的图片增加到已获取的图片中,返回步骤S220。
在本发明的一个实施例中,预定个数可以设置为1。即如果没有查找到匹配的拼图模板,则从已获取的图片中删除1张图片,或从图片源中再获取1张图片增加到已获取的图片中。
步骤S260,如果查找到一个以上的匹配的拼图模板,则从所述一个以上的匹配的拼图模板中,选择一个拼图模板,将已获取的各图片按类型套用到所选择的拼图模板中的各图框内,生成拼接后的图片。
在本发明的一个实施例中,可以从所述一个以上的匹配的拼图模板中,随机选择一个拼图模板。
在本发明的一个实施例中,在模板库中预设多样化的拼图模板,其中包括图框数量为1的拼图模板,如只包括1个横框的拼图模板和只包括1个竖框的拼图模板。这样可以保证至少会有一个模板是适用的。
通过本发明中的实现图片拼接的方法可以实现自动的图片拼接,用户可以不参与任何编辑工作就可以获得绚丽的拼图。
通过图2所示的方法得到拼接后的图片后,可将拼接后新图片输出到调用来源,如幻灯片、创作壁纸预览等。例如:
(1)在本发明的一个实施例中,根据图2所示的方法生成拼接后的图片之后,将生成的图片设置为系统的桌面背景。
(2)或者,在本发明的一个实施例中,多次重复图2所示方法的从图片源中提取指定个数的图片至生成拼接后的图片的步骤,生成多个拼接后的图片,按指定顺序播放该多个拼接后的图片,实现幻灯片播放。
(3)或者,在本发明的又一个实施例中,根据图2所示的方法生成拼接后的图片之后,将生成的图片设置为系统的桌面背景幻灯片,预设时间后返回执行图2所示的方法,再新生成一个拼接后的图片,将该新生成的图片设置为系统的桌面背景幻灯,如此循环。
通过本发明的上述实现图片拼接的方法,可实现自动拼图,利用该方法用户可以设置多图组成的桌面背景,还可以多图模式播放幻灯片,相比以前的单图播放模式,视觉效果更丰富,内容展现更多样化,大大提升用户的看图体验。本发明的上述实现图片拼接的方法,将拼图的操作方式从手动编辑,变为自动获得。这是一种全新的拼图的操作模式,极大简化了交互过程,从而使得现有的拼图这个小众功能变成一个大众应用成为可能。这对于扩充此类应用的用户群非常有利。
图3示出了根据本发明一个实施例的一种实现图片拼接的装置的结构图。如图3所示,该实现图片拼接的装置300包括:模板库单元301、图片提取单元302、匹配单元303和拼图单元304。
模板库单元301适于保存多种拼图模板。
图片提取单元302适于从图片源中提取指定个数的图片并保存,对所保存的各图片进行分类,得到分类结果后通知匹配单元303;图片提取单元302还适于在收到匹配单元303的通知时,从所保存的图片中删除预定个数的图片,或从图片源中再获取预定个数的图片进行保存,然后对所保存的图片重新进行分类,将分类结果通知匹配单元303。
匹配单元303适于在收到图片提取单元302通知的分类结果时,从模板库单元301中查找与分类结果匹配的拼图模板,如果没有查找到匹配的拼图模板,则向图片提取单元302发送通知,如果查找到一个以上的匹配的拼图模板,则从中选择一个拼图模板,将所选择的拼图模板通知拼图单元304。
拼图单元304适于将图片提取单元302中保存的各图片按类型套用到匹配单元303所通知的拼图模板中的各图框内,生成拼接后的图片。
在图3中,图片提取单元302适于对所保存的各图片按照尺寸以及横图和/或竖图进行分类,得到每种尺寸的横图的个数和/或每种尺寸的竖图的个数,并通知匹配单元。
在图3中,匹配单元303适于在收到图片提取单元通知的每种尺寸的横图的个数和/或每种尺寸的竖图的个数时,从模板库单元中查找对应尺寸的横图框个数大于或等于图片提取单元通知的对应尺寸的横图个数,和/或对应尺寸的竖图框个数大于或等于获取单元通知的对应尺寸的竖图个数的拼图模板。
在图3中,图片提取单元302适于从本地图片源中或者服务器端的数据库中提取指定个数的图片并保存。
图4示出了根据本发明一个实施例的一种图片处理系统的组成框图。如图4所示,该图片处理系统包括:一个或多个实现图片拼接的装置300和一个或多个图片源。其中,图片源中的一个或多个为本地图片源402或服务器端的图片数据库401。本地图片源402具体可以是设置的本地的文件夹,该文件夹中包含图片。图4中示意出了三个实现图片拼接的装置300、两个服务器端的图片数据库401和一个本地图片源402,但这并不能作为对本发明中的图片处理系统的组成部分的个数的限定。
参见图4,实现图片拼接的装置300是图3所示实施例中所描述的实现图片拼接的装置,其功能和组成结构参见前面的描述,这里不再复述。
实现图片拼接的装置300可以通过有线或无线方式从服务器端的图片数据库401提取图片,因此在图4中用虚线其连接关系。实现图片拼接的装置300也可以从本地图片源402提取图片,图4中的实线连接关系表示本地获取。
图5示出了采用本发明的方案实现的拼图的效果示意图。参见图5,采用本发明中的实现图片拼接的方法、装置以及图片处理系统,均可实现智能适配图片和模板,生成图5所示的拼图。在图5所示的拼图中,图片和模板中的图框完美匹配,不会有图片被过度裁剪的问题,更不需要用户手动进行调整。
本发明所述的方法和装置可以应用在供用户使用的各种客户端系统中。比如可以应用在PC电脑、智能手机、平板电脑以及其他移动终端。另外,客户端优选可以与互联网上各种图库服务器通过有线网络或无线网络连接,用于访问并获取图片数据。客户端也可以访问本地文件夹中存储的图片,相应实现本发明的技术方案。
综上所述,根据本发明的这种从图片源中提取指定个数的图片,对已获取的各图片进行分类,得到分类结果,从预设的包括多种拼图模板的模板库中查找与所述分类结果匹配的拼图模板;如果没有查找到匹配的拼图模板,则从已获取的图片中删除预定个数的图片,或从图片源中再获取预定个数的图片增加到已获取的图片中,返回所述对已获取的各图片进行分类的步骤;如果查找到一个以上的匹配的拼图模板,则从所述一个以上的匹配的拼图模板中,选择一个拼图模板,将已获取的各图片按类型套用到所选择的拼图模板中的各图框内,生成拼接后的图片的技术方案,能够实现智能适配图片和模板,生成拼接后的图片,由此解决了现有的桌面设置和幻灯片播放等应用中只能展示单张图片的问题,以及采用提供的模板进行拼图时需要手动匹配图片和模板,耗时耗力的问题。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的实现图片拼接的装置和图片处理系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。