生成马赛克图像的方法和装置
相关申请的交叉引用
本申请要求于2015年03月31日提交的中国专利申请号为“201510149873.3”的优先权,其全部内容作为整体并入本申请中。
技术领域
本申请涉及计算机技术领域,具体涉及电子图片处理技术领域,尤其涉及一种生成马赛克图像的方法和装置。
背景技术
随着互联网技术的发展,数字娱乐产品开始出现在人们的身边。数字娱乐产品是指动漫、卡通、网络游戏、马赛克图像等基于数字技术的娱乐产品。其中,马赛克图像是由多个小图像块拼接而成的图像。现有技术中,已有一些拼接马赛克图像的方法,可以把一种类型的图像通过另一种类型的图像拼接出来,例如,使用多个人物图像作为素材拼接成一副风景图像。
当前的马赛克图像的生成过程中,通常需要将目标图像分成多个图像块,再将这些图像块分别与素材库中的图像素材进行匹配。这样的生成过程存在着重复匹配从而导致马赛克图像生成效率较低的问题。
发明内容
本申请的目的在于提出一种改进的生成马赛克图像的方法和装置,来解决以上背景技术部分提到的一个或多个技术问题。
第一方面,本申请提供了一种生成马赛克图像的方法,所述方法包括:将目标图像划分成多个预定大小的图像块;对每个图像块提取图像块特征向量;获取与素材库对应的特征向量表,其中,所述特征
向量表用于存储所述素材库中的各个图像素材的素材特征向量;对于每一个图像块特征向量,获取相匹配的素材特征向量在所述特征向量表中的存储位置;基于所述图像素材与所述素材特征向量的对应关系,根据所述存储位置获取相应的图像素材的存储地址;根据各个存储地址,获取相应的图像素材并生成马赛克图像。
在一些实施例中,所述对于每一个图像块特征向量,获取相匹配的素材特征向量在所述特征向量表中的存储位置包括:获取所述特征向量表的索引结构,其中,所述索引结构用于在对各个素材特征向量进行检索时,提供检索顺序以及素材特征向量在所述特征向量表中的存储位置;对于每一个图像块特征向量,按照所述索引结构从所述特征向量表检索出相匹配的素材特征向量;从所述索引结构中获取所匹配的各个素材特征向量在所述特征向量表中的存储位置。
在一些实施例中,所述索引结构通过以下步骤生成:将所述特征向量表按照各个素材特征向量的近邻关系进行分割,并生成树结构;用各个素材特征向量在所述特征向量表中的存储位置替换所述树结构中对应的各个素材特征向量以生成所述特征向量表的索引结构。
在一些实施例中,所述基于所述图像素材与所述素材特征向量的对应关系,根据所述存储位置获取相应的图像素材的存储地址包括:获取所述图像素材在所述素材库的存储文件中的存储地址与所述图像素材对应的素材特征向量在特征向量表中的映射关系;基于所述映射关系,根据所述存储位置获取相应的图像素材在所述素材库的存储文件中的存储地址。
在一些实施例中,所述根据各个存储地址,获取相应的图像素材并生成马赛克图像包括:读取所述存储文件;根据各个存储地址在所述存储文件中分别获取相应的图像素材;用获取的各个图像素材替换所述目标图像中对应的各个图像块生成马赛克图像。
在一些实施例中,所述将目标图像划分成多个预定大小的图像块之前,还包括:获取图像;判断所述图像的像素大小是否在预设的像素大小范围内;如果所述图像的像素大小不在预设的像素大小范围内,将所述图像像素大小调整到预设的像素大小范围内以作为目标图像。
在一些实施例中,所述方法还包括:获取原始图像;将所述原始图像修改成预定大小的图像以作为图像素材,其中,所述修改包括以下至少一项:图像区域选择、像素压缩。
在一些实施例中,所述将所述原始图像修改成预定大小的图像以作为图像素材还包括:将所述原始图像先映射到球模型上后反投影到平面上;将反投影到平面上的原始图像修改成预定大小的图像以作为图像素材。
在一些实施例中,还包括:将图像素材分类存储在多个素材库中,以供用户对素材库进行选择。
第二方面,本申请提供了一种生成马赛克图像的装置,包括:划分模块,配置用于将目标图像划分成多个预定大小的图像块;提取模块,配置用于对每个图像块提取图像块特征向量;向量表获取模块,配置用于获取与素材库对应的特征向量表,其中,所述特征向量表用于存储所述素材库中的各个图像素材的素材特征向量;位置获取模块,配置用于对于每一个图像块特征向量,获取相匹配的素材特征向量在所述特征向量表中的存储位置;地址获取模块,基于所述图像素材与所述素材特征向量的对应关系,根据所述存储位置获取相应的图像素材的存储地址;生成模块,配置用于根据各个存储地址,获取相应的图像素材并生成马赛克图像。
在一些实施例中,所述位置获取模块还包括:索引结构获取单元,配置用于获取所述特征向量表的索引结构,其中,所述索引结构用于在对各个素材特征向量进行检索时,提供检索顺序以及素材特征向量在所述特征向量表中的存储位置;检索单元,配置用于对于每一个图像块特征向量,按照所述索引结构从所述特征向量表检索出相匹配的素材特征向量;存储位置获取单元,配置用于从所述索引结构中获取所匹配的各个素材特征向量在所述特征向量表中的存储位置。
在一些实施例中,所述位置获取模块还包括索引结构生成单元,配置用于:将所述特征向量表按照各个素材特征向量的近邻关系进行分割,并生成树结构;用各个素材特征向量在所述特征向量表中的存储位置替换所述树结构中对应的各个素材特征向量以生成所述特征向
量表的索引结构。
在一些实施例中,所述地址获取模块还包括:映射关系获取单元,配置用于获取所述图像素材在所述素材库的存储文件中的存储地址与所述图像素材对应的素材特征向量在特征向量表中的映射关系;存储地址获取单元,配置用于基于所述映射关系,根据所述存储位置获取相应的图像素材在所述素材库的存储文件中的存储地址。
在一些实施例中,所述生成模块还包括:读取单元,配置用于读取所述存储文件;素材获取单元,配置用于根据各个存储地址在所述存储文件中分别获取相应的图像素材;替换单元,配置用于用获取的各个图像素材替换所述目标图像中对应的各个图像块生成马赛克图像。
在一些实施例中,还包括筛选模块,所述筛选模块包括:图像获取单元,配置用于获取图像;像素大小判断单元,配置用于判断所述图像的像素大小是否在预设的像素大小范围内;像素大小调整单元,配置用于如果所述图像的像素大小不在预设的像素大小范围内,将所述图像像素大小调整到预设的像素大小范围内以作为目标图像。
在一些实施例中,所述装置还包括图像素材生成模块,所述图像素材生成模块包括:原始图像获取单元,配置用于获取原始图像;图像修改单元,配置用于将所述原始图像修改到预定大小以作为图像素材,其中,所述修改包括以下至少一项:图像区域选择、像素压缩。
在一些实施例中,图像素材生成模块还包括:图像转换单元,配置用于将所述原始图像先映射到球模型上再反投影到平面上;转换图像修改单元,配置用于将反投影到平面上的原始图像修改到预定大小以作为图像素材。
本申请提供的生成马赛克图像的方法和装置,通过将目标图片划分成的图像块的特征向量与素材库的特征向量表中的素材特征向量进行匹配,得到用于替换图像块的图像素材的素材特征向量在特征向量表中的存储位置;进而,基于图像素材与素材特征向量的对应关系,根据上述存储位置获取相应的图像素材的存储地址;最后,根据各个存储地址,获取相应的图像素材并生成马赛克图像。本申请提供的生
成马赛克图像的方法和装置提高了马赛克图像的生成效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是根据本申请的生成马赛克图像的方法的一个实施例的流程图;
图2是根据本申请的根据索引结构从特征向量表中获取与图像块特征向量相匹配的素材特征向量的存储位置的一个实施例的流程图;
图3是根据本申请的作为图像素材的地理信息点截图示意图;
图4是根据本申请的生成马赛克图像的方法的另一个实施例的流程图;
图5a、图5b分别是根据本申请的生成马赛克图像的方法的一个实施例的初始图像、马赛克图像示意图;
图6是根据本申请的生成马赛克图像的装置的一个实施例的结构示意图;
图7是根据本申请的生成马赛克图像的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
请参考图1,其示出了生成马赛克图像的方法的一个流程100。本实施例主要以该方法应用于包含有显示屏的电子设备中来举例说明,该电子设备可以包括智能手机、平板电脑、电子书阅读器、MP3播放
器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。本申请生成马赛克图像的方法,包括以下步骤:
步骤S101,将目标图像划分成多个预定大小的图像块。
在本实施例中,电子设备(例如生成马赛克图像类应用运行于其上的智能手机)可以将待制作马赛克图像的目标图像划分成多个预定大小的图像块。这里,电子设备可以从本地或远程地获取待制作马赛克图像的目标图像,也可以拍摄一张照片作为目标图像。目标图像可以按像素划分成预定大小的图像块,例如,可以划分成32×32像素大小的图像块。其中,预定大小表示划分目标图像得到的图像块可以与用于生成马赛克图像的图像素材具有相同的像素大小。
在本实施例的可选实现方式中,电子设备也可以将目标图像发送给远程服务器(例如对电子设备上的生成马赛克图像类应用提供支持的后台服务器)。远程服务器可以将目标图像划分成多个预定大小的图像块。这里的远程服务器可以是一台服务器,也可以是通过网络连接在一起的服务器集群。这时,该电子设备可以通过有线连接方式或者无线连接方式从远程服务器接收这些信息。上述无线连接方式包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
步骤S102,对每个图像块提取图像块特征向量。
在本实施例中,电子设备可以对划分好的每个图像块提取图像块特征向量。其中,图像块特征向量可以是用来表征图像块的某一个或多个特征(例如颜色特征等)的向量,例如可以是多个特征点的颜色值组成的向量。
作为图像块特征向量的一个示例,图像块特征向量可以仅表征图像块的颜色特征。例如,现有的显示器可以采用RGB颜色标准,即在显示器上,通过电子枪打在屏幕的红(R)、绿(G)、蓝(B)三色发光极上来产生色彩。其中,RGB颜色标准是通过对红(R)、绿(G)、
蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的。因此,图像块的颜色值可以由特征点分别在R、G、B三个颜色通道上的数值(颜色值)来表示。具体来说,对每个图像块,电子设备可以首先在图像上选取多个点,比如25个点作为特征点,其次对每个特征点获取R、G、B三个颜色通道上的数值,最后将这25×3个数值按顺序排列组成一个25×3维的向量,即图像块特征向量。其中,作为特征点的25个点可以是以默认的规律选取的。比如,图像块有32×32个像素点,可以在每一行上选取5个点,共选取5行,形成一个5×5的点阵。25个特征点也可以在32×32个像素点中呈×型来选取,或者以其他形式选取,本申请对此不做限定。可选地,上述25×3维的向量中,每个特征点的R、G、B三个颜色通道上的数值的顺序,可以有多种。比如25×3维的向量可以首先是每个特征点的R颜色通道上的数值,接着是每个特征点的G颜色通道上的数值,最后是每个特征点的B颜色通道上的数值。25×3维的向量也可以是按一个特征点的顺序排列,一个特征点的R、G、B三个颜色通道上的数值,接着是下一个特征点的R、G、B三个颜色通道上的数值。在实践中,25×3维的向量可以按照实际应用设定数值的顺序,本申请对此不做限定。
可选地,对每个图像块提取图像块特征向量的步骤也可以由远程服务器完成。
步骤S103,获取与素材库对应的特征向量表。
在本实施例中,电子设备从本地或远程服务器获取与默认的或选定的素材库相对应的特征向量表。其中,素材库可以用于存储素材图像的相关数据(例如素材图像的存储文件等等)。这里,素材库可以是默认的一个素材库,也可以是从多个可供选择的素材库中选定的一个素材库。可选地,当素材库有多个时,可以是按不同的分类方法分类存储的。例如,多个素材库可以是按地理区域(如城市北京、上海等)存储的街景图像素材库,也可以是按性别(如男、女等)存储的人物图像素材库,还可以是按不同季节(如春季、冬季等)存储的景色图像素材库,等等。可选地,多个素材库还可以是同时按多个分类方法
分类存储的图像素材库,比如,按地理区域的不同季节(北京的春季、苏州的夏季等)分类存储的景色图像素材库,等等。本申请对此不做限定。
在本实施例中,特征向量表用于存储相应素材库中的各个图像素材的素材特征向量。特征向量表可以是预先存储在电子设备本地或远程服务器中的。其中,素材特征向量可以是用来表征图像素材的某一个或多个特征(例如颜色特征等)的向量,例如可以是多个特征点的颜色值组成的向量。本领域技术人员可以理解,为了便于匹配,各个图像素材的素材特征向量可以与上述的图像块的特征向量具有相同的表示方法。例如:在图像素材上选取25个点作为特征点,其次对每个特征点获取R、G、B三个颜色通道上的数值,最后将这25×3个数值按顺序排列组成一个25×3维的向量,即图像素材的特征向量。其中,用于表征图像素材的特征向量与用于表征图像块的特征向量对在特征点R、G、B三个颜色通道上的数值可以具有相同的排列顺序。
可选地,获取与素材库对应的特征向量表步骤也可以由远程服务器完成。
步骤S104,对于每一个图像块特征向量,获取相匹配的素材特征向量在特征向量表中的存储位置。
在本实施例中,对于每一个图像块特征向量,电子设备根据步骤103中获取的特征向量表中的素材特征向量进行向量匹配,获取相匹配的素材特征向量在特征向量表中的存储位置。其中,电子设备判断素材特征向量与图像块特征向量是否相匹配,可以根据特征向量的匹配程度来判断。举例而言,该匹配程度可以用素材特征向量与图像块特征向量对应数值的方差表示,方差越大表示匹配程度越小,方差越小表示匹配程度越大。该匹配程度还可以用加权百分数来表示。例如,权重百分数可以由以下方法得到:假设向量维数是75维,则每维的权重是1/75,将素材特征向量中每维的数值除以图像块特征向量对应维度的数值,得到的商乘以权重1/75,作为该维的权重百分数,各维的权重百分数相加,即得到素材特征向量对于图像块特征向量的加权百分数。加权百分数的值越大,表示匹配程度越大,加权百分数的值越
小表示匹配程度越小。该匹配程度还可以用其他方法来表示。本申请对此不做限定。本领域技术人员可以理解,电子设备可以选择与图像块特征向量匹配程度最高的素材特征向量,或者匹配到的第一个匹配程度量值大于阈值(例如可以是加权百分数大于80%)的素材特征向量,作为与图像块特征向量相匹配的素材特征向量,等等。
在本实施例中,电子设备进行向量匹配时,可以按照向量表中存储的素材特征向量顺序依次匹配,也可以按照特征向量表的索引结构(比如树形的索引结构)提供的检索顺序进行匹配,还可以按照其他顺序进行匹配。本申请对此不做限定。作为一个示例,图2给出了一种根据索引结构在特征向量表中获取与图像块特征向量相匹配的素材特征向量的存储位置的一个实施例的流程200。该流程200的具体步骤如下:
步骤S201,获取特征向量表的索引结构。
在本实施例中,电子设备可以从本地或远程地获取特征向量表的索引结构。其中,该索引结构可以是树结构,也可以是表结构,用于在对各个素材特征向量进行检索时,提供检索顺序以及素材特征向量在上述特征向量表中的存储位置。当索引结构是树结构时,如果该树结构的设计合理,在树的一个节点完成匹配后,匹配成功或者排除该节点的左子树、右子树之一,可以大大加快匹配速率。
步骤S202,对于每一个图像块特征向量,按照索引结构从特征向量表检索出相匹配的素材特征向量。
在本实施例中,对于每一个图像块特征向量,电子设备或远程服务器按照索引结构提供的检索顺序从特征向量表检索出与图像块特征向量相匹配的素材特征向量。
步骤S203,从索引结构中获取所匹配的各个素材特征向量在特征向量表中的存储位置。
在本实施例中,电子设备或远程服务器根据步骤S202的匹配结果,从索引结构中获取匹配到的各个素材特征向量在特征向量表中的存储位置。其中,该存储位置可以是素材特征向量的逻辑地址(比如可以是特征向量在特征向量表中的存储序号),也可以是素材特征向量
的物理地址(特征向量所在的物理内存空间的实际地址)。该存储位置与素材特征向量具有一定的映射关系。可选地,该映射关系比如可以是:该存储位置以素材特征向量的索引下标的形式存储在特征向量表中。
在本实施例的一些可选实现方式中,上述索引结构可以是树结构。该树结构类型的索引结构可以按照以下的步骤生成:首先,将特征向量表按照各个素材特征向量的近邻关系进行分割,并生成树结构;然后,用各个素材特征向量在特征向量表中的存储位置替换树结构中对应的各个素材特征向量以生成特征向量表的索引结构。这里,按照特征向量表中的素材特征向量的近邻关系分割的树结构中,素材特征向量可以是按照最近邻关系分布的。而树结构的节点处实际存放的数据可以是素材特征向量在特征向量表中的存储位置,缩小了树结构的数据量,简化了树结构。电子设备或远程服务器可以根据该存储位置与特征向量表中的素材特征向量的关系,从该树结构节点处的存储位置读取对应的素材特征向量。举例而言,在实际的图像块特征向量匹配过程中,电子设备或远端服务器按照树结构的顺序进行匹配。比如先匹配树结构的根节点,电子设备或远端服务器读取根节点处的存储位置,通过该存储位置与素材特征向量的映射关系,读取对应的素材特征向量并与图像块特征向量相对比,根据素材特征向量与图像块特征向量的匹配度确定素材特征向量与图像块特征向量是否相匹配。其中,匹配度是素材特征向量与图像块特征向量的匹配程度的表征。如果匹配度大于第一阈值,则确定与根节点对应的素材特征向量与该图像块特征向量相匹配,则获取根节点处的存储位置;如果匹配度大于第二阈值而小于第一阈值,则继续匹配树结构的右子树;如果匹配度小于第二阈值,则继续匹配树结构的左子树。以此类推。
在本实施例的一些可选实现方式中,该索引结构可以是k-d树(k-dimensional tree,k维树)结构。其中,k-d树是一种分割k维数据空间的数据结构。k-d树是每个节点都为k维点的二叉树。k-d树的所有非叶子节点可以视作一个超平面把空间分割成两部分。其中,在超平面左边的点代表该非叶子节点的左子树,在超平面右边的点代表
该非叶子节点的右子树。超平面的方向可以用下述关系来选择:每个节点都与k维中垂直于超平面的那一维有关。例如,选择按照x轴划分,所有x值小于指定值的节点都会出现在左子树,所有x值大于指定值的节点都会出现在右子树。k-d树索引结构的划分空间没有重叠,在处理大量数据时速度较快。
步骤S105,基于图像素材与素材特征向量的对应关系,根据上述存储位置获取相应的图像素材的存储地址。
在本实施例中,基于图像素材与素材特征向量的对应关系,电子设备或远程服务器可以根据上述存储位置获取相应的图像素材的存储地址。其中,图像素材的存储地址可以是图像素材在素材库中的存储序号或者实际地址(物理地址)。本领域技术人员可以理解,由于素材特征向量是图像素材的特征向量,它们之间有着一一对应的关系,因此,上述存储位置与相应的图像素材的存储地址之间也有着一一对应的关系,或者映射关系。可选地,图像素材可以与其对应的素材特征向量具有相同的存储顺序。
在本实施例的一些实现方式中,电子设备或远程服务器首先获取图像素材在素材库的存储文件中的存储地址与图像素材对应的素材特征向量在特征向量表中的映射关系,其次基于上述映射关系,根据存储位置获取相应的图像素材在素材库的存储文件中的存储地址。其中,上述映射关系可以预先保存在电子设备或远程服务器的存储器中。上述存储文件是素材库中的所有图像素材在电子设备或远程服务器的存储器上的存在形式。可选地,存储文件可以包括图片的压缩格式(如jpg格式等),也可以是像素点的颜色值的二进制格式,等等,本申请对此不做限定。举例而言,存储文件可以是由图像素材各像素点在R、G、B三个颜色通道上的数值组成的二进制文件。此时,当获取该二进制文件时,可以按照图像素材各像素点在R、G、B三个颜色通道上的数值将图像素材显示出来。
步骤S106,根据各个存储地址,获取相应的图像素材并生成马赛克图像。
在本实施例中,电子设备或远程服务器可以首先根据步骤S105
中得到的各个存储地址,获取相应的图像素材,其次将获取的图像素材替换对应的图像块生成马赛克图像。
在本实施例的一些实现方式中,电子设备或远程服务器可以从存储器中读出素材库的存储文件,然后根据各个存储地址在存储文件中分别获取相应的图像素材;接着用获取的各个图像素材替换目标图像中对应的各个图像块生成马赛克图像。可选地,电子设备或远程服务器还可以检测目标图像中的图像块是否完全被替换,若否,则返回步骤S102,重新提取未被替换的图像块的图像块特征向量,进行向量匹配,获得相应的素材图像。
在本实施例的一些可选实现方式中,图像素材可以通过以下步骤取得:电子设备或远程服务器首先获取原始图像,然后将原始图像修改成预定大小的图像以作为图像素材。其中,上述修改包括但不限于以下至少一项:图像区域选择、像素压缩等等。其中,原始图像可以是任意图像,比如人物图像、风景图像、街景图像等等。图像的预定大小是预先设定的图像素材的像素值(例如可以是32×32像素)。可选地,该像素值可以是根据经验得到的一个值,也可以是根据像素值和生成的马赛克图像的生成效果通过样本集训练得到的一个像素值,等等,本申请对此不做限定。当原始图像的尺寸大于上述预定大小时,电子设备或远程服务器可以对原始图像进行修改,得到预定大小的图像素材。可选地,电子设备或远程服务器可以选取原始图像中的一定区域,例如选取人物图像的头部图像部分等。电子设备或远程服务器还可以对原始图片或者选定的区域部分的图像进行像素压缩,以得到预定大小的图像素材。在实践中,如果原始图片是街景图片,还可以根据街景图像中的地理信息点(一个地理信息点可以是一栋房子、一个商铺、一个标志性建筑等)进行区域选择,以增加图像素材的意义性和趣味性。如图3所示,是从北京部分景点图像作为原始图像,选定地理信息点区域后进行压缩形成的图像素材。
在本实施例的一些可选实现方式中,电子设备或远程服务器还可以对原始图像进行以下处理:首先将原始图像映射到球模型上再反投影到平面上;然后将反投影到平面上的原始图像修改成预定大小的图
像以作为图像素材。本领域技术人员可以理解,当原始图像是电子地图中的街景图像时,原始图像可能是包括鱼眼图的图像,尺寸很大(比如是8192×4096像素),如果直接压缩到预定大小(例如可以是32×32像素)可能会丢失图片的细节,同时,鱼眼图可以是以鱼眼视角(大于180°的视角)的图像投影到平面形成的图像,直接对其进行压缩可能造成边缘失真,影响生成马赛克图像的效果。因此,对于包括鱼眼图的图像,可以将图像先映射到三维球模型上,以鱼眼视角还原图像,再反投影到平面上,形成180°视角的图像,以消除图像修改过程中的失真。
对于本实施例而言,应用的场景可以为,用户选择图像(也可以输入查询条件从远程服务器获取图像,例如人物图像)和选定素材库(比如选择城市:北京等)之后,电子设备或远端服务器获取图像,从素材库中匹配图像素材,替换图像块生成马赛克图像并显示。电子设备或远端服务器可以将图像划分成图像块,并可以基于素材库的特征向量表和特征向量表的索引结构获取特征向量与图像块相匹配的各个图像素材的存储地址,可以在读取素材库的存储文件后依次获取相应的图像素材生成马赛克图像。本申请的上述实施例提供的方法有助于提高马赛克图像的生成效率。
值得说明的是,本实施例给出的生成马赛克图像的方法,仅是示例性的,流程100中的步骤并不包括时间上的先后顺序。其中的一些步骤在实际应用中可以根据需要调整。步骤顺序的改变并不影响本申请的生成马赛克图像的方法的执行结果。例如,步骤103和步骤102可以同时执行,也可以调换顺序执行。本申请对此不做限定。
请参阅图4。图4是根据本申请的生成马赛克图像的方法的另一个实施例的流程400。流程400包括以下步骤:
步骤S401,获取图像。
在本实施例中,电子设备首先从本地或远程地获取一张图像,也可以拍摄一张照片作为图像。其中,该图像可以是任意内容和大小的图像。
步骤S402,判断图像的像素大小是否在预设的像素大小范围内。
在本实施例中,电子设备判断步骤S401中获取的图像的像素大小是否在预设的像素大小范围内。电子设备也可以将步骤S401中获取的图像上传至远程服务器。远程服务器获取图像后判断图像的像素大小是否在预设的像素大小范围内。本领域技术人员可以理解,如果电子设备或远程服务器获取的图像像素太小,则会严重影响马赛克图像的生成效果。举例而言,图像的像素大小是96×96像素,对图像划分,假设图像块的预定大小为32×32像素,则只能划分成3×3个图像块。如果是用街景图片拼接生成人脸的马赛克图像,则可能完全看不出是一张人脸。因此,电子设备或远程服务器可以首先对图像的像素大小进行判断。
在本实施例中,预设的像素大小范围可以是生成马赛克图像的较佳像素大小范围(比如可以是512×512像素至8192×4096像素)。该预设的像素大小范围可以通过经验值得到,也可以通过训练样本集得到。本申请对此不做限定。
步骤S403,如果图像的像素大小不在预设的像素大小范围内,将图像的像素大小调整到预设的像素大小范围内以作为目标图像。
在本实施例中,如果图像的像素大小不在预设的像素大小范围内,电子设备或远程服务器可以将图像的像素大小调整到预设的像素大小范围内以将图像作为目标图像。其中,如果图像像素大小小于像素大小范围的最小像素值,则电子设备或远程服务器对图像进行拉伸、宽或高补齐等调整后作为目标图像,如果图像像素大小大于像素大小范围的最大像素值,则将图像进行像素压缩、区域裁剪等调整后作为目标图像。
步骤S404,将目标图像划分成多个预定大小的图像块。
在本实施例中,电子设备或远程服务器可以将待制作马赛克图像的目标图像划分成多个预定大小的图像块。其中,预定大小表示划分的图像块可以与用于生成马赛克图像的图像素材具有相同的像素大小。
步骤S405,对每个图像块提取图像块特征向量。
在本实施例中,电子设备可以对划分好的每个图像块提取图像块
特征向量。其中,图像块特征向量可以是用来表征图像块的某一个或多个特征(例如颜色特征等)的向量,例如可以是多个特征点的颜色值组成的向量。
步骤S406,获取与素材库对应的特征向量表。
在本实施例中,电子设备从本地或远程服务器获取与默认的或选定的素材库相对应的特征向量表。其中,素材库可以用于存储素材图像的相关数据(例如可以是素材图像的存储文件等等)。在本实施例中,特征向量表用于存储相应素材库中的各个图像素材的素材特征向量。特征向量表可以是预先存储在电子设备本地或远程服务器中的。在这里,素材特征向量可以与图像块特征向量具有相同的提取方式和表示方法。
步骤S407,对于每一个图像块特征向量,获取相匹配的素材特征向量在特征向量表中的存储位置。
在本实施例中,对于每一个图像块特征向量,电子设备或远程服务器根据步骤407中获取的特征向量表中的素材特征向量进行向量匹配,获取相匹配的素材特征向量在特征向量表中的存储位置。其中,电子设备判断素材特征向量与图像块特征向量是否相匹配,可以根据特征向量的匹配程度来判断。电子设备或远程服务器对图像块特征向量和素材特征向量进行向量匹配时,可以按照向量表中存储的素材特征向量顺序依次匹配,也可以按照特征向量表的索引结构(比如树形的索引结构)提供的检索顺序进行匹配,还可以按照其他顺序进行匹配。本申请对此不做限定。
步骤S408,基于图像素材与素材特征向量的对应关系,根据上述存储位置获取相应的图像素材的存储地址。
在本实施例中,基于图像素材与素材特征向量的对应关系,电子设备或远程服务器可以根据上述存储位置获取相应的图像素材的存储地址。其中,图像素材的存储地址可以是图像素材在素材库中的存储序号或者实际地址。本领域技术人员可以理解,由于素材特征向量时图像素材的特征向量,它们之间有着一一对应的关系,因此,上述存储位置与相应的图像素材的存储地址之间也有着一一对应的关系,或
者映射关系。可选地,图像素材可以与其对应的素材特征向量具有相同的存储顺序。
步骤S409,根据各个存储地址,获取相应的图像素材并生成马赛克图像。
在本实施例中,电子设备或远程服务器可以首先根据步骤S408中得到的各个存储地址,读取素材库的存储文件,从存储文件中依次获取相应的图像素材,其次将获取的图像素材替换对应的图像块生成马赛克图像。
在本实施例中,上述实现流程中的步骤404、步骤405、步骤406、步骤407、步骤408和步骤409分别与前述实施例中的步骤101、步骤102、步骤103、步骤104、步骤105和步骤106基本相同,在此不再赘述。
图5a、5b示出了使用本申请的生成马赛克图像的方法将目标图像生成马赛克图像的一个示例。其中,图5b是由一个城市的地理信息点作为图像素材对图5a中的人物图像生成的马赛克图像。在图5a、图5b中,图5a是电子设备或远程服务器获取的图像,像素较大。电子设备或远程服务器将图像进行区域裁剪后作为目标图像生成如图5b所示的马赛克图像。图5b中的马赛克图像只包含了图5a中人物图像的头部图像。图5b中的马赛克图像被放大后可以显示出带有该城市地方特色的各个图像素材。
从图4中可以看出,与图1对应的实施例不同的是,本实施例中的生成马赛克图像的流程400多出了获取图像的步骤S401、判断图像像素大小的步骤S402和调整图像大小以作为目标图像的步骤S403。通过增加的步骤S401、S402和S403,本实施例描述的方案有助于对用户选择或拍摄的图像进行筛选和调整,使生成的马赛克图像的真实度更高,效果更好。
进一步参考图6,作为对上述方法的实现,本申请提供了一种生成马赛克图像的装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于电子设备(如生成马赛克图像应用运行于其上的智能手机)或者服务器(例如对电子设备上的生成
马赛克图像类应用提供支持的后台服务器)中。
如图6所示,本实施例所述的生成马赛克图像的装置600包括:划分模块601、提取模块602、向量表获取模块603、位置获取模块604、地址获取模块605和生成模块606。其中,划分模块601,配置用于将目标图像划分成多个预定大小的图像块;提取模块602,配置用于对每个图像块提取图像块特征向量;向量表获取模块603,配置用于获取与素材库对应的特征向量表,该特征向量表用于存储素材库中的各个图像素材的素材特征向量;位置获取模块604,配置用于对于每一个图像块特征向量,获取相匹配的素材特征向量在特征向量表中的存储位置;地址获取模块605,配置用于基于所述图像素材与所述素材特征向量的对应关系,根据所述存储位置获取相应的图像素材的存储地址;生成模块606,配置用于根据各个存储地址,获取相应的图像素材并生成马赛克图像。
在本实施例中,划分模块601可以将目标图像按像素划分成预定大小的图像块。其中,预定大小表示划分目标图像得到的图像块可以与用于生成马赛克图像的图像素材具有相同的像素大小。
在本实施例中,提取模块602可以对划分模块601划分出的图像块提取图像块特征向量。其中,图像块特征向量可以是用来表征图像块的某一个或多个特征(例如颜色特征等)的向量,例如可以是多个特征点的颜色值组成的向量。
在本实施例中,向量表获取模块603可以从本地或远程服务器获取与默认的或选定的素材库相对应的特征向量表。其中,特征向量表用于存储相应素材库中的各个图像素材的素材特征向量。素材特征向量可以是用来表征图像素材的某一个或多个特征(例如颜色特征等)的向量,例如可以是多个特征点的颜色值组成的向量。本领域技术人员可以理解,为了便于匹配,各个图像素材的素材特征向量可以与上述的图像块的特征向量具有相同的提取方式和表示方法。
在本实施例中,位置获取模块604可以对提取模块602获取的每一个图像块特征向量,与向量表获取模块603获取的特征向量表中的素材特征向量进行向量匹配,获取相匹配的素材特征向量在特征向量
表中的存储位置。可选地,位置获取模块604在进行向量匹配时,可以按照向量表中存储的素材特征向量顺序依次匹配,也可以按照特征向量表的索引结构(比如树形的索引结构)提供的检索顺序进行匹配,还可以按照其他顺序进行匹配。本申请对此不做限定。
在本实施例中,基于图像素材与素材特征向量的对应关系,地址获取模块605可以根据上述存储位置获取相应的图像素材的存储地址。其中,图像素材的存储地址可以是图像素材在素材库中的存储序号或者实际地址。
在本实施例中,生成模块606首先根据地址获取模块605得到的各个存储地址,获取相应的图像素材,其次将获取的图像素材替换对应的图像块生成马赛克图像。
在本实施例的可选实现方式中,位置获取模块604还包括:索引结构获取单元(未示出),配置用于获取特征向量表的索引结构;检索单元(未示出),配置用于对于每一个图像块特征向量,按照索引结构从特征向量表检索出相匹配的素材特征向量;存储位置获取单元(未示出),配置用于从索引结构中获取所匹配的各个素材特征向量在特征向量表中的存储位置。其中,索引结构用于在对各个素材特征向量进行检索时,提供检索顺序以及素材特征向量在所述特征向量表中的存储位置。
在本实施例的可选实现方式中,地址获取模块605包括:映射关系获取单元(未示出),配置用于获取图像素材在素材库的存储文件中的存储地址与图像素材对应的素材特征向量在特征向量表中的映射关系;存储地址获取单元(未示出),配置用于基于该映射关系,根据上述存储位置获取相应的图像素材在素材库的存储文件中的存储地址。
在本实施例的可选实现方式中,生成模块606包括:读取单元(未示出),配置用于读取上述存储文件;素材获取单元(未示出),配置用于根据各个存储地址在该存储文件中分别获取相应的图像素材;替换单元(未示出),配置用于用获取的各个图像素材替换目标图像中对应的各个图像块生成马赛克图像。
在本实施例的可选实现方式中,生成马赛克图像的装置600还包
括筛选模块(未示出),该筛选模块可以包括:图像获取单元(未示出),配置用于获取图像;像素大小判断单元(未示出),配置用于判断所述图像的像素大小是否在预设的像素大小范围内;像素大小调整单元,配置用于如果所述图像的像素大小不在预设的像素大小范围内,将图像的像素大小调整到预设的像素大小范围内以作为目标图像。
在本实施例的可选实现方式中,生成马赛克图像的装置600还包括图像素材生成模块(未示出),该图像素材生成模块可以包括:原始图像获取单元(未示出),配置用于获取原始图像;图像修改单元(未示出),配置用于将原始图像修改到预定大小以作为图像素材。其中,上述修改包括但不限于以下至少一项:图像区域选择、像素压缩等等。可选地,当原始图片是街景图片(例如全景图中的街景图片)时,该街景图片可能是包括鱼眼图的图像。对该街景图片的直接压缩可能会丢失图片的细节或造成边缘失真。此时,图像素材生成模块还可以包括:图像转换单元(未示出),配置用于将原始图像先映射到球模型上再反投影到平面上;转换图像修改单元(未示出),配置用于对反投影到平面上的原始图像修改到预定大小以作为图像素材。
本领域技术人员可以理解,上述生成马赛克图像的装置600还包括一些其他公知结构,例如处理器、存储器等,为了不必要地模糊本公开的实施例,这些公知的结构在图6中未示出。
本申请实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块或单元也可以设置在处理器中,例如,可以描述为:一种处理器包括划分模块、提取模块、向量表获取模块、位置获取模块、地址获取模块和生成模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,划分模块还可以被描述为“配置用于将目标图像划分成多个预定大小的图像块的模块”。
图7是本发明的实施例提供的一种计算机系统的结构示意图。
下面参考图7,其示出了适于用来实现本申请实施例的设备的计算机系统700的结构示意图。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其
可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。当存储在ROM 702中的程序或者从存储部分708加载到RAM 703中的程序被CPU 701执行时,CPU 701执行根据本公开的前述实施方式的生成马赛克图像的方法。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定
的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本申请的生成马赛克图像的方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。