一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像生成方法及装置与流程

2022-04-09 12:19:13 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别涉及一种图像生成方法及装置、计算设备和计算机可读存储介质。


背景技术:

2.随着计算机技术的发展,人们对于计算机中展示场景的生动性以及丰富性的需求越来越高。实际应用中,为了增加一些场景细节,可能需要在场景中添加一些比如生成崖壁、湖岸线、海岸线、崖壁和高架桥等线条类型的对象。而这些对象的创建都可以归纳为是在一条折线上放置模型。目前,通常需要采用人工方式在对象边缘摆放一圈模型。这一类摆放模型的工作量是巨大的,需要耗费大量的人力成本以及时间成本。因此,亟需提供一种解决上述问题的方案。


技术实现要素:

3.有鉴于此,本技术实施例提供了一种图像生成方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
4.根据本技术实施例的第一方面,提供了一种图像生成方法,包括:
5.获取初始图像中的对象线条;
6.基于所述对象线条确定线条类型以及线条组件样式;
7.根据所述线条组件样式确定所述对象线条对应的对象资源,并根据所述对象线条以及所述线条类型确定所述对象资源的位置信息;
8.基于所述对象资源以及所述位置信息对所述初始图像进行更新,获得包含所述对象线条对应的目标对象的目标图像。
9.可选地,所述线条类型,通过如下方式进行确定:
10.判断所述对象线条的线条点中是否存在无两侧相邻点的目标线条点;
11.若否,确定所述线条类型为封闭线条类型;
12.若是,确定所述线条类型为非封闭线条类型。
13.可选地,所述线条组件样式,通过如下方式进行确定:
14.将所述对象线条按照预设切分规则进行切分,获得至少一条线条段;将所述线条段与预设线条组件样式进行匹配,确定所述对象线条对应的线条组件样式;或
15.对所述对象线条进行预设线条点的计算,确定所述对象线条中包含的目标线条点的类型;基于所述类型以及所述对象线条确定线条组件样式。
16.可选地,所述根据所述线条组件样式确定所述对象线条对应的对象资源,包括:
17.确定所述对象线条对应的资源库;
18.根据所述线条组件样式的属性信息在所述资源库中确定与所述线条组件样式匹配的对象资源。
19.可选地,在所述线条类型为非封闭线条类型的情况下,所述根据所述对象线条以
及所述线条类型确定所述对象资源的位置信息,包括:
20.按照预设参考点规则确定所述对象资源在所述对象线条中对应的线条段中的放置参考点;
21.根据所述对象资源的预设基准线,确定所述对象资源在所述线条段的参考基准线;
22.基于所述放置参考点、所述预设基准线以及所述参考基准线,计算所述对象资源与所述线条段之间的偏移信息;
23.将所述放置参考点以及所述偏移信息作为所述对象资源的位置信息。
24.可选地,所述基于所述放置参考点以及所述对象资源在所述对象线条中对应的线条段,计算所述对象资源与所述线条段之间的偏移信息,包括:
25.根据所述对象资源的预设基准线,确定所述对象资源在所述线条段的参考基准线;
26.基于所述放置参考点、所述预设基准线以及所述参考基准线,计算所述对象资源与所述线条段之间的偏移信息。
27.可选地,在所述线条类型为封闭线条类型的情况下,所述根据所述对象线条以及所述线条类型确定所述对象资源的位置信息,包括:
28.按照预设参考点规则确定所述对象资源在所述对象线条中对应的线条段中的放置参考点;
29.计算所述对象线条的中心点;
30.根据所述中心点以及所述对象资源在所述对象线条中对应的线条段,确定所述对象资源的旋转信息;
31.将所述旋转信息以及所述放置参考点作为所述位置信息。
32.可选地,所述基于所述对象线条确定线条类型以及线条组件样式之前,还包括:
33.在所述对象线条中存在曲线的情况下,按照预设转换规则,将所述曲线转换为折线;
34.在所述对象线条为中存在夹角的情况下,将所述夹角的角度调整为预设角度。
35.可选地,所述初始图像,通过如下方式创建:
36.接收基于配置列表提交的创建指令;
37.根据所述创建指令对应的区域信息以及对象标记信息,创建初始图像。
38.根据本技术实施例的第二方面,提供了一种图像生成装置,包括:
39.获取模块,被配置为获取初始图像中的对象线条;
40.确定模块,被配置为基于所述对象线条确定线条类型以及线条组件样式;
41.确定资源模块,被配置为根据所述线条组件样式确定所述对象线条对应的对象资源,并根据所述对象线条以及所述线条类型确定所述对象资源的位置信息;
42.更新模块,被配置为基于所述对象资源以及所述位置信息对所述初始图像进行更新,获得包含所述对象线条对应的目标对象的目标图像。
43.根据本技术实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述图像生成方法的步骤。
44.根据本技术实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,所述计算机指令被处理器执行时实现所述图像生成方法的步骤。
45.本技术实施例提供的图像生成方法,通过获取初始图像中的对象线条;基于所述对象线条确定线条类型以及线条组件样式;根据所述线条组件样式确定所述对象线条对应的对象资源,并根据所述对象线条以及所述线条类型确定所述对象资源的位置信息;基于所述对象资源以及所述位置信息对所述初始图像进行更新,获得包含所述对象线条对应的目标对象的目标图像,实现了将对象线条对应的对象资源进行自动化摆放,提升了目标图像的生成效率,减少了人力成本以及时间成本的消耗。
附图说明
46.图1是本技术一实施例提供的计算设备的结构框图;
47.图2是本技术一实施例提供的图像生成方法的流程图;
48.图3是本技术一实施例提供的图像生成方法中线条处理的示意图;
49.图4是本技术一实施例提供的一种应用于湖岸线对象的图像生成方法的处理流程图
50.图5是本技术一实施例提供的图像生成装置的结构示意图。
具体实施方式
51.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
52.在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
53.应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
54.在本技术中,提供了一种图像生成方法及装置、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。
55.图1示出了根据本技术一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
56.计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的
任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
57.在本技术的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
58.计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
59.其中,处理器120可以执行图2所示的图像生成方法中的步骤。图2示出了根据本技术一实施例提供的图像生成方法的流程图,具体包括以下步骤:
60.步骤202:获取初始图像中的对象线条。
61.其中,初始图像,是指包含对象信息的图像。实际应用中,该初始图像可以理解为一个场景的规划图像。该初始图像作为基础图像,用以根据其内的标记信息(规划信息)自动化生成包含对象的目标图像。相应地,对象线条,是指用以标记对象的线条。
62.实际应用中,为了增加一些图像细节,可能需要在图像中添加一些比如生成栏杆、崖壁、湖岸线、海岸线、崖壁和高架桥等线条类型的对象。而这些对象的创建都可以归纳为是在一条折线上放置资源。因此,为了提高此类对象的生成效率,本技术提供一种图像生成方法,可以自动化进行线条类资源的摆放。
63.考虑到初始图像作为基础图像,可能需要时常修改。因此,为了提升该初始图像的修改效率以及创建效率,可以通过可视化配置的方式对该初始图像进行创建,本技术实施例,具体通过如下方式进行创建:
64.接收基于配置列表提交的创建指令;
65.根据所述创建指令对应的区域信息以及对象标记信息,创建初始图像。
66.配置列表,是指用以对初始图像中的区域以及对象相关的信息进行配置的列表。相应地,创建指令是指用以创建初始图像的指令。
67.具体的,该配置列表中可以包括多个可配置项,其中,区域信息的配置项,可以配置比如图像长度、宽度等尺寸信息,单元格信息(单元格数量、单元格行数、单元格列数、单元格的尺寸信息)等。对象标记信息的配置项,可以配置比如:网格合并信息、对象位置信息、对象功能信息、对象标识信息、对象风格信息、对象样式信息、对象材质信息、对象优先级信息等,在此不做限制。
68.实际应用中,区域信息,通常用以创建初始图像中的图像大小以及其中的单元格。对象标记信息,用以对初始图像中待创建的对象进行标记处理的信息。具体的,该标记处理,可以在图像中通过文字的方式进行标记,也可以通过颜色、线框、线条、面等方式进行标记,在此不做限制。
69.此外,为了进一步提高对该初始图像的可配置性以及后续生成目标对象的便利
性,该初始图像还可以是包含网格(即单元格)的图像。这种包含网格的图像也可以称为对象网格图像。
70.综上,通过创建指令对应的区域信息以及对象标记信息创建初始图像,实现了采用可视化配置的方式对初始图像进行创建,提高了初始图像的创建效率。
71.步骤204:基于所述对象线条确定线条类型以及线条组件样式。
72.具体的,在上述获取初始图像中的对象线条的基础上,考虑到不同类型的线条需要不同的对象资源,并且这些对象资源可能存在不同的摆放方式。因此,需要先基于对象线条确定线条类型以及线条组件样式。
73.其中,线条类型,可以根据对象线条是否封闭,将对象线条分为封闭线条类型以及非封闭线条类型。线条组件样式,是指对象线条中各种线段匹配的组件样式。
74.实际应用中,考虑到如果对象线条为曲线或是夹角角度。对于这种对象线条,很难预先制作所有可能匹配的对象资源。因此,为了简化对线条类型对象的创建,可以对获取的对象线条进行预处理,本技术实施例,具体通过如下方式确定:
75.在所述对象线条中存在曲线的情况下,按照预设转换规则,将所述曲线转换为折线;
76.在所述对象线条为中存在夹角的情况下,将所述夹角的角度调整为预设角度。
77.预设转换规则,可以是对对象线条中的曲线部分画切线,将该曲线部分转换为折线。此外,该预设转换规则,还可以是对对象线条中的曲线进行拉直处理,将该对象线条转换为折线。具体拉直时,可以按照预设参考线进行拉直处理,比如可以按照初始图像中的网格边线进行拉直,也可以根据初始图像中网格的中心线进行拉直等,在此不做限制。
78.实际应用中,在将对象线条从曲线转换为折线后,通常折线线条之间是存在夹角的。具体的,该夹角角度可能为24度、156度等。由于对象线条中夹角角度的不确定性,难以预先制作包含所有夹角角度的对象资源。因此,可以将该夹角的角度调整为90度或60度等预先设定的角度(即预设角度)。具体实施时,可以通过对该夹角进行扩大或缩小的方式,将该夹角的角度调整为预设角度。
79.比如,初始图像中的湖岸线条如图3(a)所示,将该湖岸线条在初始图像中其所属的单元格范围内按照单元格中心线进行拉直处理,即可获得凸字形状的折线状的湖岸线条,具体的如图3(b)所示。
80.综上,通过将对象线条中的曲线转换为直线,并将对象线条中存在的夹角转换为预设角度,保障了对象线条的标准化,并进一步提高了对象创建效率。
81.具体实施时,所述线条类型,通过如下方式进行确定:
82.判断所述对象线条的线条点中是否存在无两侧相邻点的目标线条点;
83.若否,表明该对象线条不存在端点,则确定所述线条类型为封闭线条类型;
84.若是,表明该对象线条存在端点,则确定所述线条类型为非封闭线条类型。
85.其中,线条点,是指对象线条中的点。相应地,两侧相邻点,是指该线条点在对象线条中排列在其之前的相邻点以及排列在其之后的相邻点。其中,相邻点,是指线条对象中与线条点相邻的点。实际应用中,若该任意一个线条点只存在一侧的相邻点,则该线条点为目标线条点,也表明该线条点是该对象线条的端点。而对象线条存在端点,即可确定该对象线条的线条类型为非封闭线条类型。
86.若对象线条中的线条点都存在两侧相邻点,即该对象线条的线条点中不存在目标线条点,则表明该对象线条不存在端点。而对象线条不存在端点,即可确定该对象线条的线条类型为封闭线条类型。
87.沿用上例,对图3(b)中呈折线状的湖岸线条中的线条点进行一一检测,确定每个线条点都存在两侧相邻点。则湖岸线条的线条点中无目标线条点,也表明该湖岸线条不存在端点。因此,也可以确定该湖岸线条的线条类型为封闭线条类型。
88.综上,通过判断所述对象线条的线条点中是否存在无两侧相邻点的目标线条点的方式,确定对象线条的线条类型,保障了确定线条类型的准确性。
89.进一步的,线条组件样式,通过如下两种方式进行确定:
90.方式一:将所述对象线条按照预设切分规则进行切分,获得至少一条线条段;
91.将所述线条段与预设线条组件样式进行匹配,确定所述对象线条对应的线条组件样式。
92.其中,预设切分规则,可以是按照初始图像中的单元格对对象线条进行子线段的切分。即将对象线条中同属于一个或几个单元格的线条作为线条段进行切分。此外,还可以按照预设线段长度(比如5米、1米等)对对象线条进行线条段的切分,在此不做限制。
93.预设线条组件样式,是指预先针对对象线条设置的组件样式。具体实施时,将该线条段与预设线条组件样式进行匹配,可以是通过预先训练的相似度模型进行二者相似度计算方式进行匹配。在线条段的数量为多个的情况下,将每条线条段依次与预设线条组件样式进行匹配。进一步的,将匹配结果为相同或相似的预设线条组件确定为线条段对应的线条组件样式。并将该对象线条中所有线条段对应的线条组件样式作为该对象线条对应的线条组件样式。
94.沿用上例,将图3(b)中的湖岸线条按照初始图像中的单元格进行线段切分,获得10条线条段,将每个线条段分别与预设线条组件样式进行匹配,获得每条线条段对应的预设线条组件样式,即线条组件样式。
95.方式二:对所述对象线条进行预设线条点的计算,确定所述对象线条中包含的目标线条点的类型;
96.基于所述类型以及所述对象线条确定线条组件样式。
97.具体的,对对象线条进行预设线条点(比如:交叉点、转角点、端点)的计算,可以理解为计算对象线条中所形成的交叉点、转角点、端点等的线条点,将对象线条中所存在的预设线条点作为目标线条点。进而根据目标线条点的类型,确定对象线条中特殊位置(比如十字交叉口、丁字交叉口、转角和结尾等位置),将这些特殊位置所形成的样式作为线条组件样式。此外,对于对象线条中除这些特殊位置之外的直线位置可以对应的直线组件样式,并将该直线组件样式也作为线条组件样式。
98.具体实施时,可以将对象线条切分成为至少一条直线段,再计算这些直线段的端点是否重合;若存在四条直线段的端点是重合的,则确定该重合的端点为十字交叉点;若存在三条直线段的端点是重合的,则确定该重合的端点为丁字交叉点;若存在两条直线段的端点是重合的,则确定该重合的端点为转角点;若存在某条直线段存在没有重合的端点,则确定该端点为对象线条的端点。再根据这些目标线条点(比如十字交叉点、丁字交叉点、转角点、端点等)的类型(比如十字交叉类型、丁字交叉类型、转角类型、端点类型),确定其对
应的线条样式组件(比如:十字交叉组件样式、丁字交叉组件样式、转角组件样式、端点组件样式等)。
99.此外,对于对象线条中非端点部分的线条,则确定其对应的线条样式组件为直线组件样式。其中,端点部分,可以理解为包含端点在内的线段,该线段长度可以根据预设组件尺寸进行确定(比如端点为十字交叉类型,十字交叉类型对应的预设长度5米。则以该端点为中心点,将该中心点所属的4条线段分别切割5米作为端点部分)。此外,也根据初始图像中单元格的尺寸进行确定(比如将属于同一单元格内的端点以及线段作为端点部分),在此不做限制。
100.沿用上例,将图3(b)中的湖岸线条切分为8条直线段,确定这8条直线段的端点存在重合,并且确定重合的端点的重合数量为2。根据重合的数量2可以确定目标线条点的类型为转角类型。根据转角类型,即可确定该转角类型对应的线条组件样式为转角组件样式。再按照该目标线条点在初始图像中所属的单元格,在对象线条中分离出转角组件样式对应的线段部分(即端点部分)。将对象线条中除端点部分之外的直线部分对应的线条组件样式确定为直线组件样式。
101.综上,通过如上两种方式确定对象线条对应的线条组件样式,增加了确定线条组件样式的多样性以及灵活性。
102.步骤206:根据所述线条组件样式确定所述对象线条对应的对象资源,并根据所述对象线条以及所述线条类型确定所述对象资源的位置信息。
103.具体的,在上述确定对象线条的对象类型以及线条组件样式的基础上,需要基于这些信息确定对象线条对应的对象资源以及位置信息。以便根据位置信息对对象资源进行摆放。
104.其中,对象资源,是指对象线条对应的模型、预制件、贴图等资源,该对象资源可以是二维的,也可以是三维的,在此不做限制。相应地,位置信息,是指在初始图像中放置对象资源的位置的信息。具体的,该位置信息可以为坐标信息、位置参照物(比如单元格)信息、方向信息等,在此不做限制。
105.具体实施时,所述根据所述线条组件样式确定所述对象线条对应的对象资源,具体通过如下方式实现:
106.确定所述对象线条对应的资源库;
107.根据所述线条组件样式的属性信息在所述资源库中确定与所述线条组件样式匹配的对象资源。
108.资源库,是指存储对象线条对应的资源的存储空间。该资源库,可以为数据库、存储服务器或特定磁盘、文件夹等,在此不做限制。实际应用中,确定对象线条对应的资源库的方式是多种多样的。具体的,通常不同对象类型的对象线条对应不同的资源库。比如湖岸线条对应湖岸资源库,高架桥线条对应高架桥资源库,河道线条对应河道资源库。具体实施时,可以预先设置对象类型和资源库信息(比如资源库路径、资源库标识等信息)之间的对应关系,则根据对象线条即可确定其对应的资源库。此外,还可以将对象线条的对象类型作为线条组件样式的标识信息的一部分。这种情况下根据线条组件样式的标识信息中的对象类型信息,也可以确定与该对象类型信息匹配的资源库。
109.进一步的,根据线条组件样式的属性信息(比如:样式信息、名称信息、内外角信息
和/或尺寸信息)等,在资源库中进行资源查找,即可确定与该线条组件样式匹配的对象资源。
110.具体实施时,可以将线条组件样式的属性信息与资源库中资源的属性信息进行对比,从而在资源库中筛选出属性信息匹配的对象资源作为线条组件样式匹配的对象资源。此外,还可以将资源库中的资源根据资源属性采用统一的命名规则进行命名,比如该命名规则为:类型_样式_尺寸。再通过线条组件样式的对象类型、样式、尺寸等信息,与资源命名中的资源属性一一对比,一层一层地过滤,最终选出符合要求的资源,作为线条组件样式匹配的对象资源。
111.需要说明的是,对于封闭类型的对象线条,线条组件样式其在对象线条中对应的夹角可能存在内角、外角之分。其中,外角,是指面向对象线条的中心点的夹角角度大于180度的角;内角,是指面向对象线条的中心点的夹角角度小于180度的角。由于湖岸线、海岸线等对象资源其内侧和外侧的外观可能是不同的(比如,在制作对象资源可能会在资源内侧添加海藻等装饰物)。因此,在对象资源进行描述时,通常需要根据内角和外角的不同,分别制作不同的对象资源。并添加内角和外角的标记予以区分。
112.也因此在对象线条的线条类型为封闭线条类型时,需要根据线条组件样式的内角或外角的标签,确定与该线条组件样式匹配的内角或外角的对象资源。具体实施时,可以对对象线条画内切圆以及外切圆。若线条组件样式在对象线条中对应的夹角是朝向外切圆的夹角,则该夹角是外角。如图3(c)所示的2个夹角都是外角;若该线条组件样式在对象线条中对应的夹角是朝向内切圆的夹角,则该夹角是内角。如图3(c)所示的6个夹角都是内角。把内外角区分出来后,为该线条组件样式添加内角或外角的标签。将该标签信息也作为线条组件样式的属性信息。以便基于该属性信息,匹配相应内角或外角的对象资源。
113.比如,在确定湖岸线条对应的线条组件样式为转角组件样式以及直线组件样式的基础上,根据预先设置的线条类型和资源库路径之间的映射关系,可知湖岸线条的线条类型:湖岸类型对应的资源库路径为p1。则将资源库路径p1所指向的存储空间确定为湖岸线条对应的湖岸资源库。并根据湖岸线条对应的转角组件样式的样式名称:转角,以及内外角标签:内角,从湖岸资源库中筛选出内角标签的湖岸转角模型,作为转角组件样式对应的湖岸模型。此外,根据湖岸线条对应的直线组件样式的样式名称:直线,从湖岸资源库中筛选出湖岸直线模型作为直线组件样式对应的湖岸模型。
114.具体实施时,由于在确定对象资源的基础上,还需要将对象资源在正确的位置进行摆放,才能最终生成目标对象。而不同类型的对象线条可能存在摆放方式的差异。为了进一步提高资源摆放的准确性以及摆放效率,可以针对不同线条类型的对象线条,采用不同的摆放方式。因此,本技术实施例,在所述线条类型为非封闭线条类型的情况下,所述根据所述对象线条以及所述线条类型确定所述对象资源的位置信息,具体通过如下方式实现:
115.按照预设参考点规则确定所述对象资源在所述对象线条中对应的线条段中的放置参考点;
116.基于所述放置参考点以及所述对象资源在所述对象线条中对应的线条段,计算所述对象资源与所述线条段之间的偏移信息;
117.将所述放置参考点以及所述偏移信息作为所述对象资源的位置信息。
118.预设参考点规则,是指预先设置的选择放置参考点的规则。具体的,该预设参考点
规则,可以是选择对象资源在对象线条中对应的线条段的中心点作为对象参考点。此外,该预设参考点规则,也可以是选择该线条段的端点作为放置参考点等,在此不做限制。
119.需要说明的是,对象线条中可能存在多条线条段对应相同的线条组件样式,因此,这些线条段也对应相同的对象资源。这种情况下对象资源在对象线条中其对应的每条线条段中都需要确定放置参考点。以便基于放置参考点将该对象资源在对象线条中进行多次摆放。
120.在确定放置参考点的基础上,由于通过放置参考点还无法确定一个二维或三维的对象资源在初始图像中的摆放位置。因此,还需要确定对象资源的摆放角度,才能将对象资源进行准确摆放。具体实施时,基于所述放置参考点以及所述对象资源在所述对象线条中对应的线条段,计算所述对象资源与所述线条段之间的偏移信息,可以通过如下方式实现:
121.根据所述对象资源的预设基准线,确定所述对象资源在所述线条段的参考基准线;
122.基于所述放置参考点、所述预设基准线以及所述参考基准线,计算所述对象资源与所述线条段之间的偏移信息。
123.预设基准线,是指针对对象资源预先设置的基准线(即预设基准线),具体的,预设基准线可以为对象资源的正向轴(比如预先制作的对象资源正面垂直向下,则可以将垂直向下的坐标轴作为对象资源的正向轴)、对象资源的中心线、左侧边线、或右侧边线;此外,该预设基准线还可以为对象资源的中心点到放置参考点之间的线段等,在此不做限制。相应地,参考基准线,可以理解为对象资源对应的线条段形成的对象区域的基准线。具体实施时,若预设基准线为对象资源的正向轴,参考基准线也为该线条段形成的对象区域的正向轴;若预设基准线为对象资源的中心线时,参考基准线也为该线条段形成的对象区域的中心线。总之,在对象资源和其对应的线条段形成的对象区域对齐时,预设参考线也当和参考基准线完全对齐。
124.进一步的,确定对象资源在所述对象线条中对应的线条段的参考基准线之后,即可确定该参考基准线与预设基准线之间的偏移信息。具体实施时,可以根据预设基准线的位置信息(该位置信息,可以理解为对象资源放置在放置参考点时,即放置参考点在对象资源中对应的资源点与该放置参考点对齐时,预设基准线在初始图像中对应的位置信息)以及参考基准线的位置信息进行计算,确定该偏移信息。
125.具体的,该偏移信息,包括预设基准线与参考基准线之间的偏移角度(比如90度、180度等)以及偏移角度对应的偏移方向(比如向左、向右等)。实际应用中,由于预先创建的对象资源通常以统一的方向进行摆放的。比如这些对象资源的正向轴都是垂直于屏幕进行摆放的。该方向可能与其实际的放置方向是存在偏移角度的。因此,需要确定对象资源的偏移角度以及偏移方向(比如向左偏移180度,或向右偏移90度等)。以便在放置参考点的基础上,根据该偏移信息调整对象资源的摆放位置,使对象资源的摆放位置与实际的对象位置重合。
126.综上,在确定放置参考点以及偏移信息的基础上,将放置参考点以及偏移信息作为对象资源的位置信息,保障了对对象资源的进行摆放的正确性。
127.在所述线条类型为封闭线条类型的情况下,所述根据所述对象线条以及所述线条类型确定所述对象资源的位置信息,具体通过如下方式实现:
128.按照预设参考点规则确定所述对象资源在所述对象线条中对应的线条段中的放置参考点;
129.计算所述对象线条的中心点;
130.根据所述中心点以及所述对象资源在所述对象线条中对应的线条段,确定所述对象资源的旋转信息;
131.将所述旋转信息以及所述放置参考点作为所述位置信息。
132.具体的,按照预设参考点规则确定所述对象资源在所述对象线条中对应的线条段中的放置参考点的确定方式与上述方法实施例中的确定放置参考点的实现方式类似,在此不做赘述。
133.进一步的,由于对象线条为封闭线条类型,因此,对象线条的中心点可以理解为该对象线条所形成的封闭区域的中心点。具体实施时,计算对象线条的中心点,可以计算该对象线条对应的外切圆,将该外切圆的中心点作为对象线条的中心点。此外,也可以计算该对象线条对应的内切圆,将该内切圆的中心点作为对象线条的中心点等,在此不做限制。
134.再进一步的,根据中心点以及对象资源在对象线条中对应的线条段,确定对象资源的旋转信息。具体实施时,可以先确定对象资源在对象线条中对应的线条段的中心点。并计算线条段的中心点和对象线条的中心点之间的线条段向量。再计算对象资源的中心点和对象线条之间的对象线条的中心点之间的资源向量。最后计算资源向量与线条段向量之间的旋转方向和旋转角度,将该旋转方向和旋转角度作为对象资源的旋转信息。
135.此外,考虑到如果对象资源的衔接线的方向不固定,对象资源之间的衔接可能不连贯,或无法衔接。比如,对象资源1和对象资源2相邻,对象资源1的相对于对象资源2是衔接线的方向为斜向上45度,而对象资源2相对于对象资源1的衔接线的方向为0度,则二者衔接线无法重合。因此,为了简化对象资源之间的衔接,还可以将上述确定的旋转角度进行矫正。把旋转角度矫正为直上、直下、直左或直右的旋转角度。如图3(d)所示,将旋转角度矫正为直上的旋转角度。这种情况下,对象资源之间衔接线也可以缩减为平行方向或垂直方向两种。再将矫正后的旋转角度以及旋转方向作为对象资源的旋转信息。并将放置参考点以及旋转信息作为位置信息。
136.综上,对于封闭类型的对象线条,根据对象线条的中心点以及对象资源对应的线条段确定旋转信息,并将放置参考点以及旋转信息作为对象资源的位置信息。保障了将所有对象资源都朝向内中心点进行摆放。
137.步骤208:基于所述对象资源以及所述位置信息对所述初始图像进行更新,获得包含所述对象线条对应的目标对象的目标图像。
138.具体的,在上述获得对象资源以及对象资源的位置信息的基础上,即可按照该位置信息,在初始图像中对对象资源的自动摆放。从而生成包含目标对象的目标图像。
139.本技术实施例提供的图像生成方法,通过获取初始图像中的对象线条;基于所述对象线条确定线条类型以及线条组件样式;根据所述线条组件样式确定所述对象线条对应的对象资源,并根据所述对象线条以及所述线条类型确定所述对象资源的位置信息;基于所述对象资源以及所述位置信息对所述初始图像进行更新,获得包含所述对象线条对应的目标对象的目标图像,实现了将对象线条对应的对象资源进行自动化摆放,提升了目标图像的生成效率,减少了人力成本以及时间成本的消耗。
140.下述结合附图3,以本技术提供的图像生成方法在湖岸线对象的应用为例,对所述图像生成方法进行进一步说明。其中,图4示出了本技术一实施例提供的一种应用于湖岸线对象的图像生成方法的处理流程图,具体包括以下步骤:
141.步骤402:获取初始图像中的湖岸线条。
142.步骤404:在湖岸线条中存在曲线的情况下,按照预设转换规则,将湖岸线条中的曲线转换为折线。
143.步骤406:在湖岸线条为中存在夹角的情况下,将该夹角的角度调整为预设角度。
144.步骤408:对湖岸线条进行计算确定湖岸线条对应的线条组件样式。
145.步骤410:确定湖岸线条对应的湖岸资源库。
146.步骤412:根据线条组件样式的属性信息在湖岸资源库中确定与线条组件样式匹配的湖岸资源。
147.步骤414:按照预设参考点规则确定湖岸资源在湖岸线条中对应的线条段中的放置参考点。
148.步骤416:计算湖岸线条的中心点。
149.步骤418:根据中心点以及湖岸资源在湖岸线条中对应的线条段,确定湖岸资源的旋转信息。
150.步骤420:将旋转信息以及放置参考点作为湖岸资源的位置信息。
151.步骤422:基于湖岸资源以及放置信息对初始图像进行更新,获得湖岸线条对应的湖岸对象的目标图像。
152.本技术实施例提供的图像生成方法,通过获取初始图像中的湖岸线条;基于所述湖岸线条确定线条组件样式;根据所述线条组件样式确定所述湖岸线条对应的湖岸资源,并根据所述湖岸线条确定所述湖岸资源的位置信息;基于所述湖岸资源以及所述位置信息对所述初始图像进行更新,获得包含所述湖岸线条对应的湖岸对象的目标图像,实现了将湖岸线条对应的湖岸资源进行自动化摆放,提升了目标图像的生成效率,减少了人力成本以及时间成本的消耗。
153.与上述方法实施例相对应,本技术还提供了图像生成装置实施例,图5示出了本技术一实施例提供的图像生成装置的结构示意图。如图5所示,该装置包括:
154.获取模块502,被配置为获取初始图像中的对象线条;
155.确定模块504,被配置为基于所述对象线条确定线条类型以及线条组件样式;
156.确定资源模块506,被配置为根据所述线条组件样式确定所述对象线条对应的对象资源,并根据所述对象线条以及所述线条类型确定所述对象资源的位置信息;
157.更新模块508,被配置为基于所述对象资源以及所述位置信息对所述初始图像进行更新,获得包含所述对象线条对应的目标对象的目标图像。
158.可选地,所述确定模块504,进一步被配置为:
159.判断所述对象线条的线条点中是否存在无两侧相邻点的目标线条点;
160.若否,确定所述线条类型为封闭线条类型;
161.若是,确定所述线条类型为非封闭线条类型。
162.可选地,所述确定模块504,进一步被配置为:
163.将所述对象线条按照预设切分规则进行切分,获得至少一条线条段;
164.将所述线条段与预设线条组件样式进行匹配,确定所述对象线条对应的线条组件样式;或
165.对所述对象线条进行预设线条点的计算,确定所述对象线条中包含的目标线条点的类型;基于所述类型以及所述对象线条确定线条组件样式。
166.可选地,所述确定资源模块506,进一步被配置为:
167.确定所述对象线条对应的资源库;
168.根据所述线条组件样式的属性信息在所述资源库中确定与所述线条组件样式匹配的对象资源。
169.可选地,在所述线条类型为非封闭线条类型的情况下,所述所述确定资源模块506,进一步被配置为:
170.按照预设参考点规则确定所述对象资源在所述对象线条中对应的线条段中的放置参考点;
171.根据所述对象资源的预设基准线,确定所述对象资源在所述线条段的参考基准线;
172.基于所述放置参考点、所述预设基准线以及所述参考基准线,计算所述对象资源与所述线条段之间的偏移信息;
173.将所述放置参考点以及所述偏移信息作为所述对象资源的位置信息。
174.可选地,在所述线条类型为封闭线条类型的情况下,所述所述确定资源模块506,进一步被配置为:
175.按照预设参考点规则确定所述对象资源在所述对象线条中对应的线条段中的放置参考点;
176.计算所述对象线条的中心点;
177.根据所述中心点以及所述对象资源在所述对象线条中对应的线条段,确定所述对象资源的旋转信息;
178.将所述旋转信息以及所述放置参考点作为所述位置信息。
179.可选地,所述图像生成装置,还包括:
180.转换模块,被配置为在所述对象线条中存在曲线的情况下,按照预设转换规则,将所述曲线转换为折线;
181.调整模块,被配置为在所述对象线条为中存在夹角的情况下,将所述夹角的角度调整为预设角度。
182.可选地,所述初始图像,通过运行如下模块进行创建:
183.接收模块,被配置为接收基于配置列表提交的创建指令;
184.创建模块,被配置为根据所述创建指令对应的区域信息以及对象标记信息,创建初始图像。
185.本技术实施例提供的图像生成装置,通过获取初始图像中的对象线条;基于所述对象线条确定线条类型以及线条组件样式;根据所述线条组件样式确定所述对象线条对应的对象资源,并根据所述对象线条以及所述线条类型确定所述对象资源的位置信息;基于所述对象资源以及所述位置信息对所述初始图像进行更新,获得包含所述对象线条对应的目标对象的目标图像,实现了将对象线条对应的对象资源进行自动化摆放,提升了目标图
像的生成效率,减少了人力成本以及时间成本的消耗。
186.上述为本实施例的一种图像生成装置的示意性方案。需要说明的是,该图像生成装置的技术方案与上述的图像生成方法的技术方案属于同一构思,图像生成装置的技术方案未详细描述的细节内容,均可以参见上述图像生成方法的技术方案的描述。
187.本技术一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述的图像生成方法的步骤。
188.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的图像生成方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述图像生成方法的技术方案的描述。
189.本技术一实施例还提供一种计算机可读存储介质,其存储有计算机指令,所述计算机指令被处理器执行时实现如前所述图像生成方法的步骤。
190.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的图像生成方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述图像生成方法的技术方案的描述。
191.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
192.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,randomaccess memory)、电载波信号、电信信号以及软件分发介质等。
193.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
194.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
195.以上公开的本技术优选实施例只是用于帮助阐述本技术。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本技术的内容,可作很多的修改和变化。本技术选取并具体描述这些实施例,是为了更好地解释本技术的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本技术。本技术仅受权利要求书及其全部范围和等效物的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献