2024-09-19 14:20:56 +08:00
|
|
|
|
import logging
|
|
|
|
|
|
import threading
|
|
|
|
|
|
import time
|
|
|
|
|
|
|
2024-12-01 20:17:39 +08:00
|
|
|
|
import requests
|
2024-09-19 14:20:56 +08:00
|
|
|
|
from minio import Minio
|
|
|
|
|
|
|
2025-12-30 16:49:08 +08:00
|
|
|
|
from app.core.config import settings
|
2026-01-12 16:18:04 +08:00
|
|
|
|
from app.service.design_fast.item import BodyItem, TopItem, BottomItem, OthersItem, TopMergeItem, BottomMergeItem, OthersMergeItem
|
2025-11-07 10:56:34 +08:00
|
|
|
|
from app.service.design_fast.utils.organize import organize_body, organize_clothing, organize_others
|
2024-09-25 11:40:11 +08:00
|
|
|
|
from app.service.design_fast.utils.progress import final_progress, update_progress
|
2026-01-12 16:18:04 +08:00
|
|
|
|
from app.service.design_fast.utils.synthesis_item import synthesis, synthesis_single, update_base_size_priority, merge
|
2024-09-19 15:10:50 +08:00
|
|
|
|
from app.service.utils.decorator import RunTime
|
2024-09-19 14:20:56 +08:00
|
|
|
|
|
|
|
|
|
|
id_lock = threading.Lock()
|
|
|
|
|
|
|
|
|
|
|
|
logger = logging.getLogger()
|
|
|
|
|
|
|
2025-12-30 16:49:08 +08:00
|
|
|
|
minio_client = Minio(settings.MINIO_URL, access_key=settings.MINIO_ACCESS, secret_key=settings.MINIO_SECRET, secure=settings.MINIO_SECURE)
|
2024-09-19 14:20:56 +08:00
|
|
|
|
|
|
|
|
|
|
|
2026-01-12 16:18:04 +08:00
|
|
|
|
def process_item(item, basic, design_type):
|
|
|
|
|
|
# 1. 定义映射配置
|
|
|
|
|
|
# key 为 item_type 的小写,value 为对应的处理类
|
|
|
|
|
|
DESIGN_MAP = {
|
|
|
|
|
|
'body': BodyItem,
|
|
|
|
|
|
'blouse': TopItem, 'outwear': TopItem,
|
|
|
|
|
|
'dress': TopItem, 'tops': TopItem,
|
|
|
|
|
|
'skirt': BottomItem, 'trousers': BottomItem,
|
|
|
|
|
|
'bottoms': BottomItem,
|
|
|
|
|
|
'others': OthersItem
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
MERGE_MAP = {
|
|
|
|
|
|
'body_merge': BodyItem,
|
|
|
|
|
|
'blouse_merge': TopMergeItem, 'outwear_merge': TopMergeItem,
|
|
|
|
|
|
'dress_merge': TopMergeItem, 'tops_merge': TopMergeItem,
|
|
|
|
|
|
'skirt_merge': BottomMergeItem, 'trousers_merge': BottomMergeItem,
|
|
|
|
|
|
'bottoms_merge': BottomMergeItem,
|
|
|
|
|
|
'others_merge': OthersMergeItem
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# 2. 根据 design_type 选择映射表
|
|
|
|
|
|
mapping = MERGE_MAP if design_type == 'merge' else DESIGN_MAP
|
|
|
|
|
|
|
|
|
|
|
|
if design_type == 'merge':
|
|
|
|
|
|
item_type_key = f"{item['type'].lower()}_merge"
|
|
|
|
|
|
elif design_type == 'default':
|
|
|
|
|
|
item_type_key = item['type'].lower()
|
2024-11-26 16:08:10 +08:00
|
|
|
|
else:
|
2026-01-12 16:18:04 +08:00
|
|
|
|
item_type_key = item['type'].lower()
|
|
|
|
|
|
|
|
|
|
|
|
handler_class = mapping.get(item_type_key)
|
|
|
|
|
|
|
|
|
|
|
|
if not handler_class:
|
|
|
|
|
|
raise NotImplementedError(f"Item type {item['type']} not implemented for design_type={design_type}")
|
|
|
|
|
|
|
|
|
|
|
|
# 4. 统一实例化并执行
|
|
|
|
|
|
# 注意:这里假设所有 Item 类构造函数签名一致
|
|
|
|
|
|
server = handler_class(data=item, basic=basic, minio_client=minio_client)
|
|
|
|
|
|
item_data = server.process()
|
2024-09-19 14:20:56 +08:00
|
|
|
|
return item_data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def process_layer(item, layers):
|
2024-09-25 11:40:11 +08:00
|
|
|
|
# item处理结束后 对图层数据组装
|
2024-09-19 14:20:56 +08:00
|
|
|
|
if item['name'] == "mannequin":
|
|
|
|
|
|
body_layer = organize_body(item)
|
|
|
|
|
|
layers.append(body_layer)
|
|
|
|
|
|
return item['body_image'].size
|
2026-01-12 16:18:04 +08:00
|
|
|
|
elif item['name'] in ['others', 'others_merge']:
|
2025-11-07 10:56:34 +08:00
|
|
|
|
front_layer, back_layer = organize_others(item)
|
2024-11-26 16:08:10 +08:00
|
|
|
|
layers.append(front_layer)
|
|
|
|
|
|
layers.append(back_layer)
|
2025-12-30 16:49:08 +08:00
|
|
|
|
return None
|
2024-09-19 14:20:56 +08:00
|
|
|
|
else:
|
|
|
|
|
|
front_layer, back_layer = organize_clothing(item)
|
|
|
|
|
|
layers.append(front_layer)
|
|
|
|
|
|
layers.append(back_layer)
|
2025-12-30 16:49:08 +08:00
|
|
|
|
return None
|
2024-09-19 14:20:56 +08:00
|
|
|
|
|
|
|
|
|
|
|
2024-09-19 15:10:50 +08:00
|
|
|
|
@RunTime
|
2024-09-19 14:20:56 +08:00
|
|
|
|
def design_generate(request_data):
|
|
|
|
|
|
objects_data = request_data.dict()['objects']
|
|
|
|
|
|
process_id = request_data.dict()['process_id']
|
2024-09-19 15:10:50 +08:00
|
|
|
|
object_response = {}
|
2024-09-19 14:20:56 +08:00
|
|
|
|
threads = []
|
|
|
|
|
|
active_threads = 0
|
|
|
|
|
|
lock = threading.Lock()
|
|
|
|
|
|
total = len(objects_data)
|
|
|
|
|
|
|
|
|
|
|
|
def process_object(step, object):
|
|
|
|
|
|
nonlocal active_threads
|
|
|
|
|
|
basic = object['basic']
|
2024-11-26 16:08:10 +08:00
|
|
|
|
items_response = {'layers': [], 'objectSign': object['objectSign'] if 'objectSign' in object.keys() else ""}
|
2026-01-12 16:18:04 +08:00
|
|
|
|
design_type = basic.get('design_type', "default")
|
2024-09-19 14:20:56 +08:00
|
|
|
|
if basic['single_overall'] == "overall":
|
|
|
|
|
|
item_results = []
|
|
|
|
|
|
for item in object['items']:
|
2026-01-12 16:18:04 +08:00
|
|
|
|
item_results.append(process_item(item, basic, design_type))
|
2024-09-19 14:20:56 +08:00
|
|
|
|
layers = []
|
|
|
|
|
|
for item in item_results:
|
2025-12-30 16:49:08 +08:00
|
|
|
|
process_layer(item, layers)
|
2024-09-19 14:20:56 +08:00
|
|
|
|
layers = sorted(layers, key=lambda s: s.get("priority", float('inf')))
|
|
|
|
|
|
|
2025-12-30 16:49:08 +08:00
|
|
|
|
layers, new_size = update_base_size_priority(layers)
|
2025-09-25 15:39:17 +08:00
|
|
|
|
# pattern_overall_image_url 、 pattern_print_image_url
|
2024-09-19 14:20:56 +08:00
|
|
|
|
for lay in layers:
|
|
|
|
|
|
items_response['layers'].append({
|
2024-09-19 15:37:56 +08:00
|
|
|
|
'image_category': "body" if lay['name'] == 'mannequin' else lay['name'],
|
2024-09-19 14:20:56 +08:00
|
|
|
|
'position': lay['position'],
|
|
|
|
|
|
'priority': lay.get("priority", None),
|
|
|
|
|
|
'resize_scale': lay['resize_scale'] if "resize_scale" in lay.keys() else None,
|
|
|
|
|
|
'image_size': lay['image'] if lay['image'] is None else lay['image'].size,
|
|
|
|
|
|
'gradient_string': lay['gradient_string'] if 'gradient_string' in lay.keys() else "",
|
|
|
|
|
|
'mask_url': lay['mask_url'],
|
|
|
|
|
|
'image_url': lay['image_url'] if 'image_url' in lay.keys() else None,
|
2025-09-25 15:39:17 +08:00
|
|
|
|
'pattern_overall_image_url': lay['pattern_overall_image_url'] if 'pattern_overall_image_url' in lay.keys() else None,
|
|
|
|
|
|
'pattern_print_image_url': lay['pattern_print_image_url'] if 'pattern_print_image_url' in lay.keys() else None,
|
2026-01-09 15:42:42 +08:00
|
|
|
|
'transpose': lay.get('transpose', None),
|
|
|
|
|
|
'rotate': lay.get('rotate', None),
|
2024-10-30 10:34:53 +08:00
|
|
|
|
# 'back_perspective_url': lay['back_perspective_url'] if 'back_perspective_url' in lay.keys() else None,
|
2024-09-19 14:20:56 +08:00
|
|
|
|
})
|
2026-01-12 16:18:04 +08:00
|
|
|
|
if basic.get('design_type') == 'default':
|
|
|
|
|
|
items_response['synthesis_url'] = synthesis(layers, new_size, basic)
|
|
|
|
|
|
elif basic.get('design_type') == 'merge':
|
|
|
|
|
|
items_response['synthesis_url'] = merge(layers, new_size, basic)
|
|
|
|
|
|
else:
|
|
|
|
|
|
items_response['synthesis_url'] = synthesis(layers, new_size, basic)
|
|
|
|
|
|
|
2024-09-19 14:20:56 +08:00
|
|
|
|
else:
|
|
|
|
|
|
item_result = process_item(object['items'][0], basic)
|
|
|
|
|
|
items_response['layers'].append({
|
|
|
|
|
|
'image_category': f"{item_result['name']}_front",
|
|
|
|
|
|
'image_size': item_result['back_image'].size if item_result['back_image'] else None,
|
|
|
|
|
|
'position': None,
|
2025-09-26 18:05:46 +08:00
|
|
|
|
'priority': 0,
|
2024-09-19 14:20:56 +08:00
|
|
|
|
'image_url': item_result['front_image_url'],
|
|
|
|
|
|
'mask_url': item_result['mask_url'],
|
|
|
|
|
|
"gradient_string": item_result['gradient_string'] if 'gradient_string' in item_result.keys() else "",
|
2025-09-25 15:39:17 +08:00
|
|
|
|
'pattern_overall_image_url': item_result['pattern_overall_image_url'] if 'pattern_overall_image_url' in item_result.keys() else None,
|
|
|
|
|
|
'pattern_print_image_url': item_result['pattern_print_image_url'] if 'pattern_print_image_url' in item_result.keys() else None,
|
2025-09-25 15:32:23 +08:00
|
|
|
|
|
2024-09-19 14:20:56 +08:00
|
|
|
|
})
|
|
|
|
|
|
items_response['layers'].append({
|
|
|
|
|
|
'image_category': f"{item_result['name']}_back",
|
|
|
|
|
|
'image_size': item_result['front_image'].size if item_result['front_image'] else None,
|
|
|
|
|
|
'position': None,
|
2025-09-26 18:05:46 +08:00
|
|
|
|
'priority': 0,
|
2024-09-19 14:20:56 +08:00
|
|
|
|
'image_url': item_result['back_image_url'],
|
|
|
|
|
|
'mask_url': item_result['mask_url'],
|
|
|
|
|
|
"gradient_string": item_result['gradient_string'] if 'gradient_string' in item_result.keys() else "",
|
2025-09-25 15:39:17 +08:00
|
|
|
|
'pattern_overall_image_url': item_result['pattern_overall_image_url'] if 'pattern_overall_image_url' in item_result.keys() else None,
|
|
|
|
|
|
'pattern_print_image_url': item_result['pattern_print_image_url'] if 'pattern_print_image_url' in item_result.keys() else None,
|
2025-09-25 15:32:23 +08:00
|
|
|
|
|
2024-09-19 14:20:56 +08:00
|
|
|
|
})
|
|
|
|
|
|
items_response['synthesis_url'] = synthesis_single(item_result['front_image'], item_result['back_image'])
|
|
|
|
|
|
update_progress(process_id, total)
|
|
|
|
|
|
|
|
|
|
|
|
with lock:
|
2024-09-19 15:10:50 +08:00
|
|
|
|
object_response[step] = items_response
|
2024-09-19 14:20:56 +08:00
|
|
|
|
active_threads -= 1
|
|
|
|
|
|
|
|
|
|
|
|
for step, object in enumerate(objects_data):
|
|
|
|
|
|
t = threading.Thread(target=process_object, args=(step, object))
|
|
|
|
|
|
threads.append(t)
|
|
|
|
|
|
t.start()
|
|
|
|
|
|
with lock:
|
|
|
|
|
|
active_threads += 1
|
|
|
|
|
|
|
|
|
|
|
|
for t in threads:
|
|
|
|
|
|
t.join()
|
|
|
|
|
|
final_progress(process_id)
|
|
|
|
|
|
return object_response
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-11-26 16:08:10 +08:00
|
|
|
|
@RunTime
|
|
|
|
|
|
def design_generate_v2(request_data):
|
|
|
|
|
|
objects_data = request_data.dict()['objects']
|
2025-12-16 11:59:28 +08:00
|
|
|
|
callback_url = request_data.callback_url
|
2024-12-09 14:48:54 +08:00
|
|
|
|
request_id = request_data.requestId
|
2024-11-26 16:08:10 +08:00
|
|
|
|
threads = []
|
|
|
|
|
|
|
2025-12-30 16:49:08 +08:00
|
|
|
|
def process_object(object, callback_url):
|
2024-11-26 16:08:10 +08:00
|
|
|
|
basic = object['basic']
|
2024-11-27 16:30:20 +08:00
|
|
|
|
items_response = {
|
|
|
|
|
|
'layers': [],
|
|
|
|
|
|
'objectSign': object['objectSign'] if 'objectSign' in object.keys() else "",
|
2024-12-09 14:48:54 +08:00
|
|
|
|
'requestId': request_id
|
2024-11-27 16:30:20 +08:00
|
|
|
|
}
|
2024-11-26 16:08:10 +08:00
|
|
|
|
if basic['single_overall'] == "overall":
|
|
|
|
|
|
item_results = []
|
|
|
|
|
|
for item in object['items']:
|
|
|
|
|
|
item_results.append(process_item(item, basic))
|
|
|
|
|
|
layers = []
|
|
|
|
|
|
for item in item_results:
|
2025-12-30 16:49:08 +08:00
|
|
|
|
process_layer(item, layers)
|
2024-11-26 16:08:10 +08:00
|
|
|
|
layers = sorted(layers, key=lambda s: s.get("priority", float('inf')))
|
|
|
|
|
|
|
2025-12-30 16:49:08 +08:00
|
|
|
|
layers, new_size = update_base_size_priority(layers)
|
2024-11-26 16:08:10 +08:00
|
|
|
|
|
|
|
|
|
|
for lay in layers:
|
|
|
|
|
|
items_response['layers'].append({
|
|
|
|
|
|
'image_category': "body" if lay['name'] == 'mannequin' else lay['name'],
|
|
|
|
|
|
'position': lay['position'],
|
|
|
|
|
|
'priority': lay.get("priority", None),
|
|
|
|
|
|
'resize_scale': lay['resize_scale'] if "resize_scale" in lay.keys() else None,
|
|
|
|
|
|
'image_size': lay['image'] if lay['image'] is None else lay['image'].size,
|
|
|
|
|
|
'gradient_string': lay['gradient_string'] if 'gradient_string' in lay.keys() else "",
|
|
|
|
|
|
'mask_url': lay['mask_url'],
|
|
|
|
|
|
'image_url': lay['image_url'] if 'image_url' in lay.keys() else None,
|
2025-09-25 15:39:17 +08:00
|
|
|
|
'pattern_overall_image_url': lay['pattern_overall_image_url'] if 'pattern_overall_image_url' in lay.keys() else None,
|
|
|
|
|
|
'pattern_print_image_url': lay['pattern_print_image_url'] if 'pattern_print_image_url' in lay.keys() else None,
|
2025-09-25 15:32:23 +08:00
|
|
|
|
|
2024-11-26 16:08:10 +08:00
|
|
|
|
# 'back_perspective_url': lay['back_perspective_url'] if 'back_perspective_url' in lay.keys() else None,
|
|
|
|
|
|
})
|
|
|
|
|
|
items_response['synthesis_url'] = synthesis(layers, new_size, basic)
|
|
|
|
|
|
else:
|
|
|
|
|
|
item_result = process_item(object['items'][0], basic)
|
|
|
|
|
|
items_response['layers'].append({
|
|
|
|
|
|
'image_category': f"{item_result['name']}_front",
|
|
|
|
|
|
'image_size': item_result['back_image'].size if item_result['back_image'] else None,
|
|
|
|
|
|
'position': None,
|
|
|
|
|
|
'priority': 0,
|
|
|
|
|
|
'image_url': item_result['front_image_url'],
|
|
|
|
|
|
'mask_url': item_result['mask_url'],
|
|
|
|
|
|
"gradient_string": item_result['gradient_string'] if 'gradient_string' in item_result.keys() else "",
|
2025-09-25 15:39:17 +08:00
|
|
|
|
'pattern_overall_image_url': item_result['pattern_overall_image_url'] if 'pattern_overall_image_url' in item_result.keys() else None,
|
|
|
|
|
|
'pattern_print_image_url': item_result['pattern_print_image_url'] if 'pattern_print_image_url' in item_result.keys() else None,
|
2025-09-25 15:32:23 +08:00
|
|
|
|
|
2024-11-26 16:08:10 +08:00
|
|
|
|
})
|
|
|
|
|
|
items_response['layers'].append({
|
|
|
|
|
|
'image_category': f"{item_result['name']}_back",
|
|
|
|
|
|
'image_size': item_result['front_image'].size if item_result['front_image'] else None,
|
|
|
|
|
|
'position': None,
|
|
|
|
|
|
'priority': 0,
|
|
|
|
|
|
'image_url': item_result['back_image_url'],
|
|
|
|
|
|
'mask_url': item_result['mask_url'],
|
|
|
|
|
|
"gradient_string": item_result['gradient_string'] if 'gradient_string' in item_result.keys() else "",
|
2025-09-25 15:39:17 +08:00
|
|
|
|
'pattern_overall_image_url': item_result['pattern_overall_image_url'] if 'pattern_overall_image_url' in item_result.keys() else None,
|
|
|
|
|
|
'pattern_print_image_url': item_result['pattern_print_image_url'] if 'pattern_print_image_url' in item_result.keys() else None,
|
2025-09-25 15:32:23 +08:00
|
|
|
|
|
2024-11-26 16:08:10 +08:00
|
|
|
|
})
|
|
|
|
|
|
items_response['synthesis_url'] = synthesis_single(item_result['front_image'], item_result['back_image'])
|
|
|
|
|
|
# 发送结果给java端
|
2025-12-16 11:59:28 +08:00
|
|
|
|
url = callback_url
|
2025-08-29 17:44:14 +08:00
|
|
|
|
logger.info(f"java 回调 -> {url}")
|
2025-08-29 17:51:54 +08:00
|
|
|
|
|
2024-11-26 16:08:10 +08:00
|
|
|
|
headers = {
|
|
|
|
|
|
'Accept': "*/*",
|
|
|
|
|
|
'Accept-Encoding': "gzip, deflate, br",
|
|
|
|
|
|
'User-Agent': "PostmanRuntime-ApipostRuntime/1.1.0",
|
|
|
|
|
|
'Connection': "keep-alive",
|
|
|
|
|
|
'Content-Type': "application/json"
|
|
|
|
|
|
}
|
2025-01-10 15:07:06 +08:00
|
|
|
|
# logger.info(items_response)
|
2024-11-26 16:08:10 +08:00
|
|
|
|
response = post_request(url, json_data=items_response, headers=headers)
|
|
|
|
|
|
if response:
|
|
|
|
|
|
# 打印结果
|
|
|
|
|
|
logger.info(response.text)
|
|
|
|
|
|
|
|
|
|
|
|
for step, object in enumerate(objects_data):
|
2025-12-30 16:49:08 +08:00
|
|
|
|
t = threading.Thread(target=process_object, args=(object, callback_url))
|
2024-11-26 16:08:10 +08:00
|
|
|
|
threads.append(t)
|
|
|
|
|
|
t.start()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def post_request(url, data=None, json_data=None, headers=None, auth=None, timeout=5):
|
|
|
|
|
|
"""
|
|
|
|
|
|
发送POST请求的封装函数
|
|
|
|
|
|
|
|
|
|
|
|
:param url: 接口的URL地址
|
|
|
|
|
|
:param data: 要发送的数据(字典形式,用于表单数据等,会自动编码)
|
|
|
|
|
|
:param json_data: 要发送的JSON数据(字典形式,会自动转换为JSON字符串)
|
|
|
|
|
|
:param headers: 请求头字典
|
|
|
|
|
|
:param auth: 认证信息(如 ('username', 'password') 形式用于基本认证)
|
|
|
|
|
|
:param timeout: 超时时间,单位为秒
|
|
|
|
|
|
:return: 返回接口的响应对象
|
|
|
|
|
|
"""
|
|
|
|
|
|
try:
|
|
|
|
|
|
response = requests.post(
|
|
|
|
|
|
url,
|
|
|
|
|
|
data=data,
|
|
|
|
|
|
json=json_data,
|
|
|
|
|
|
headers=headers,
|
|
|
|
|
|
auth=auth,
|
|
|
|
|
|
timeout=timeout
|
|
|
|
|
|
)
|
|
|
|
|
|
response.raise_for_status() # 如果请求失败,抛出异常
|
|
|
|
|
|
return response
|
|
|
|
|
|
except requests.RequestException as e:
|
|
|
|
|
|
print(f"POST请求出错: {e}")
|
|
|
|
|
|
return None
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-09-19 14:20:56 +08:00
|
|
|
|
if __name__ == '__main__':
|
|
|
|
|
|
object_data = {
|
|
|
|
|
|
"objects": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"basic": {
|
|
|
|
|
|
"body_point_test": {
|
|
|
|
|
|
"waistband_right": [
|
|
|
|
|
|
203,
|
|
|
|
|
|
249
|
|
|
|
|
|
],
|
|
|
|
|
|
"hand_point_right": [
|
|
|
|
|
|
229,
|
|
|
|
|
|
343
|
|
|
|
|
|
],
|
|
|
|
|
|
"waistband_left": [
|
|
|
|
|
|
119,
|
|
|
|
|
|
248
|
|
|
|
|
|
],
|
|
|
|
|
|
"hand_point_left": [
|
|
|
|
|
|
97,
|
|
|
|
|
|
343
|
|
|
|
|
|
],
|
|
|
|
|
|
"shoulder_left": [
|
|
|
|
|
|
108,
|
|
|
|
|
|
107
|
|
|
|
|
|
],
|
|
|
|
|
|
"shoulder_right": [
|
|
|
|
|
|
212,
|
|
|
|
|
|
107
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"layer_order": False,
|
|
|
|
|
|
"scale_bag": 0.7,
|
|
|
|
|
|
"scale_earrings": 0.16,
|
|
|
|
|
|
"self_template": True,
|
|
|
|
|
|
"single_overall": "overall",
|
|
|
|
|
|
"switch_category": ""
|
|
|
|
|
|
},
|
|
|
|
|
|
"items": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 98419,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/dress/0825000526.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Dress"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"body_path": "aida-sys-image/models/female/2e4815b9-1191-419d-94ed-5771239ca4a5.png",
|
|
|
|
|
|
"image_id": 67277,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Body"
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"basic": {
|
|
|
|
|
|
"body_point_test": {
|
|
|
|
|
|
"waistband_right": [
|
|
|
|
|
|
203,
|
|
|
|
|
|
249
|
|
|
|
|
|
],
|
|
|
|
|
|
"hand_point_right": [
|
|
|
|
|
|
229,
|
|
|
|
|
|
343
|
|
|
|
|
|
],
|
|
|
|
|
|
"waistband_left": [
|
|
|
|
|
|
119,
|
|
|
|
|
|
248
|
|
|
|
|
|
],
|
|
|
|
|
|
"hand_point_left": [
|
|
|
|
|
|
97,
|
|
|
|
|
|
343
|
|
|
|
|
|
],
|
|
|
|
|
|
"shoulder_left": [
|
|
|
|
|
|
108,
|
|
|
|
|
|
107
|
|
|
|
|
|
],
|
|
|
|
|
|
"shoulder_right": [
|
|
|
|
|
|
212,
|
|
|
|
|
|
107
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"layer_order": False,
|
|
|
|
|
|
"scale_bag": 0.7,
|
|
|
|
|
|
"scale_earrings": 0.16,
|
|
|
|
|
|
"self_template": True,
|
|
|
|
|
|
"single_overall": "overall",
|
|
|
|
|
|
"switch_category": ""
|
|
|
|
|
|
},
|
|
|
|
|
|
"items": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 98420,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/skirt/903000127.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Skirt"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 69140,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/blouse/0902001100.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Blouse"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 81604,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/outwear/outwear_p5_729.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Outwear"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"body_path": "aida-sys-image/models/female/2e4815b9-1191-419d-94ed-5771239ca4a5.png",
|
|
|
|
|
|
"image_id": 67277,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Body"
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"basic": {
|
|
|
|
|
|
"body_point_test": {
|
|
|
|
|
|
"waistband_right": [
|
|
|
|
|
|
203,
|
|
|
|
|
|
249
|
|
|
|
|
|
],
|
|
|
|
|
|
"hand_point_right": [
|
|
|
|
|
|
229,
|
|
|
|
|
|
343
|
|
|
|
|
|
],
|
|
|
|
|
|
"waistband_left": [
|
|
|
|
|
|
119,
|
|
|
|
|
|
248
|
|
|
|
|
|
],
|
|
|
|
|
|
"hand_point_left": [
|
|
|
|
|
|
97,
|
|
|
|
|
|
343
|
|
|
|
|
|
],
|
|
|
|
|
|
"shoulder_left": [
|
|
|
|
|
|
108,
|
|
|
|
|
|
107
|
|
|
|
|
|
],
|
|
|
|
|
|
"shoulder_right": [
|
|
|
|
|
|
212,
|
|
|
|
|
|
107
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"layer_order": False,
|
|
|
|
|
|
"scale_bag": 0.7,
|
|
|
|
|
|
"scale_earrings": 0.16,
|
|
|
|
|
|
"self_template": True,
|
|
|
|
|
|
"single_overall": "overall",
|
|
|
|
|
|
"switch_category": ""
|
|
|
|
|
|
},
|
|
|
|
|
|
"items": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 63964,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/outwear/0825001572.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Outwear"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 98421,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/blouse/blouse_506.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Blouse"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 98422,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/trousers/0628001244.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Trousers"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"body_path": "aida-sys-image/models/female/2e4815b9-1191-419d-94ed-5771239ca4a5.png",
|
|
|
|
|
|
"image_id": 67277,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Body"
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"basic": {
|
|
|
|
|
|
"body_point_test": {
|
|
|
|
|
|
"waistband_right": [
|
|
|
|
|
|
203,
|
|
|
|
|
|
249
|
|
|
|
|
|
],
|
|
|
|
|
|
"hand_point_right": [
|
|
|
|
|
|
229,
|
|
|
|
|
|
343
|
|
|
|
|
|
],
|
|
|
|
|
|
"waistband_left": [
|
|
|
|
|
|
119,
|
|
|
|
|
|
248
|
|
|
|
|
|
],
|
|
|
|
|
|
"hand_point_left": [
|
|
|
|
|
|
97,
|
|
|
|
|
|
343
|
|
|
|
|
|
],
|
|
|
|
|
|
"shoulder_left": [
|
|
|
|
|
|
108,
|
|
|
|
|
|
107
|
|
|
|
|
|
],
|
|
|
|
|
|
"shoulder_right": [
|
|
|
|
|
|
212,
|
|
|
|
|
|
107
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"layer_order": False,
|
|
|
|
|
|
"scale_bag": 0.7,
|
|
|
|
|
|
"scale_earrings": 0.16,
|
|
|
|
|
|
"self_template": True,
|
|
|
|
|
|
"single_overall": "overall",
|
|
|
|
|
|
"switch_category": ""
|
|
|
|
|
|
},
|
|
|
|
|
|
"items": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 79927,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/outwear/0825000378.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Outwear"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 67473,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/blouse/0825001350.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Blouse"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 80046,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/skirt/0628001443.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Skirt"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"body_path": "aida-sys-image/models/female/2e4815b9-1191-419d-94ed-5771239ca4a5.png",
|
|
|
|
|
|
"image_id": 67277,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Body"
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"basic": {
|
|
|
|
|
|
"body_point_test": {
|
|
|
|
|
|
"waistband_right": [
|
|
|
|
|
|
203,
|
|
|
|
|
|
249
|
|
|
|
|
|
],
|
|
|
|
|
|
"hand_point_right": [
|
|
|
|
|
|
229,
|
|
|
|
|
|
343
|
|
|
|
|
|
],
|
|
|
|
|
|
"waistband_left": [
|
|
|
|
|
|
119,
|
|
|
|
|
|
248
|
|
|
|
|
|
],
|
|
|
|
|
|
"hand_point_left": [
|
|
|
|
|
|
97,
|
|
|
|
|
|
343
|
|
|
|
|
|
],
|
|
|
|
|
|
"shoulder_left": [
|
|
|
|
|
|
108,
|
|
|
|
|
|
107
|
|
|
|
|
|
],
|
|
|
|
|
|
"shoulder_right": [
|
|
|
|
|
|
212,
|
|
|
|
|
|
107
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"layer_order": False,
|
|
|
|
|
|
"scale_bag": 0.7,
|
|
|
|
|
|
"scale_earrings": 0.16,
|
|
|
|
|
|
"self_template": True,
|
|
|
|
|
|
"single_overall": "overall",
|
|
|
|
|
|
"switch_category": ""
|
|
|
|
|
|
},
|
|
|
|
|
|
"items": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 84148,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/trousers/0628000751.jpeg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Trousers"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 97321,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/blouse/0902000222.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Blouse"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 90718,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/outwear/0825000314.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Outwear"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"body_path": "aida-sys-image/models/female/2e4815b9-1191-419d-94ed-5771239ca4a5.png",
|
|
|
|
|
|
"image_id": 67277,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Body"
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"basic": {
|
|
|
|
|
|
"body_point_test": {
|
|
|
|
|
|
"waistband_right": [
|
|
|
|
|
|
203,
|
|
|
|
|
|
249
|
|
|
|
|
|
],
|
|
|
|
|
|
"hand_point_right": [
|
|
|
|
|
|
229,
|
|
|
|
|
|
343
|
|
|
|
|
|
],
|
|
|
|
|
|
"waistband_left": [
|
|
|
|
|
|
119,
|
|
|
|
|
|
248
|
|
|
|
|
|
],
|
|
|
|
|
|
"hand_point_left": [
|
|
|
|
|
|
97,
|
|
|
|
|
|
343
|
|
|
|
|
|
],
|
|
|
|
|
|
"shoulder_left": [
|
|
|
|
|
|
108,
|
|
|
|
|
|
107
|
|
|
|
|
|
],
|
|
|
|
|
|
"shoulder_right": [
|
|
|
|
|
|
212,
|
|
|
|
|
|
107
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"layer_order": False,
|
|
|
|
|
|
"scale_bag": 0.7,
|
|
|
|
|
|
"scale_earrings": 0.16,
|
|
|
|
|
|
"self_template": True,
|
|
|
|
|
|
"single_overall": "overall",
|
|
|
|
|
|
"switch_category": ""
|
|
|
|
|
|
},
|
|
|
|
|
|
"items": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 86403,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/skirt/0902000231.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Skirt"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 87135,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/blouse/0902001315.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Blouse"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 87428,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/outwear/0902000566.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Outwear"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"body_path": "aida-sys-image/models/female/2e4815b9-1191-419d-94ed-5771239ca4a5.png",
|
|
|
|
|
|
"image_id": 67277,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Body"
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"basic": {
|
|
|
|
|
|
"body_point_test": {
|
|
|
|
|
|
"waistband_right": [
|
|
|
|
|
|
203,
|
|
|
|
|
|
249
|
|
|
|
|
|
],
|
|
|
|
|
|
"hand_point_right": [
|
|
|
|
|
|
229,
|
|
|
|
|
|
343
|
|
|
|
|
|
],
|
|
|
|
|
|
"waistband_left": [
|
|
|
|
|
|
119,
|
|
|
|
|
|
248
|
|
|
|
|
|
],
|
|
|
|
|
|
"hand_point_left": [
|
|
|
|
|
|
97,
|
|
|
|
|
|
343
|
|
|
|
|
|
],
|
|
|
|
|
|
"shoulder_left": [
|
|
|
|
|
|
108,
|
|
|
|
|
|
107
|
|
|
|
|
|
],
|
|
|
|
|
|
"shoulder_right": [
|
|
|
|
|
|
212,
|
|
|
|
|
|
107
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"layer_order": False,
|
|
|
|
|
|
"scale_bag": 0.7,
|
|
|
|
|
|
"scale_earrings": 0.16,
|
|
|
|
|
|
"self_template": True,
|
|
|
|
|
|
"single_overall": "overall",
|
|
|
|
|
|
"switch_category": ""
|
|
|
|
|
|
},
|
|
|
|
|
|
"items": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 98423,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/dress/0916001596.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Dress"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"body_path": "aida-sys-image/models/female/2e4815b9-1191-419d-94ed-5771239ca4a5.png",
|
|
|
|
|
|
"image_id": 67277,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Body"
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"basic": {
|
|
|
|
|
|
"body_point_test": {
|
|
|
|
|
|
"waistband_right": [
|
|
|
|
|
|
203,
|
|
|
|
|
|
249
|
|
|
|
|
|
],
|
|
|
|
|
|
"hand_point_right": [
|
|
|
|
|
|
229,
|
|
|
|
|
|
343
|
|
|
|
|
|
],
|
|
|
|
|
|
"waistband_left": [
|
|
|
|
|
|
119,
|
|
|
|
|
|
248
|
|
|
|
|
|
],
|
|
|
|
|
|
"hand_point_left": [
|
|
|
|
|
|
97,
|
|
|
|
|
|
343
|
|
|
|
|
|
],
|
|
|
|
|
|
"shoulder_left": [
|
|
|
|
|
|
108,
|
|
|
|
|
|
107
|
|
|
|
|
|
],
|
|
|
|
|
|
"shoulder_right": [
|
|
|
|
|
|
212,
|
|
|
|
|
|
107
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"layer_order": False,
|
|
|
|
|
|
"scale_bag": 0.7,
|
|
|
|
|
|
"scale_earrings": 0.16,
|
|
|
|
|
|
"self_template": True,
|
|
|
|
|
|
"single_overall": "overall",
|
|
|
|
|
|
"switch_category": ""
|
|
|
|
|
|
},
|
|
|
|
|
|
"items": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 86345,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/outwear/0825000695.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Outwear"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 78743,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/blouse/0902001412.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Blouse"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"color": "28 26 26",
|
|
|
|
|
|
"icon": "none",
|
|
|
|
|
|
"image_id": 68988,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"path": "aida-sys-image/images/female/trousers/0825000403.jpg",
|
|
|
|
|
|
"print": {
|
|
|
|
|
|
"element": {
|
|
|
|
|
|
"element_angle_list": [],
|
|
|
|
|
|
"element_path_list": [],
|
|
|
|
|
|
"element_scale_list": [],
|
|
|
|
|
|
"location": []
|
|
|
|
|
|
},
|
|
|
|
|
|
"overall": {
|
|
|
|
|
|
"location": [
|
|
|
|
|
|
[
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_angle_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": [
|
|
|
|
|
|
0.0,
|
|
|
|
|
|
0.0
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"single": {
|
|
|
|
|
|
"location": [],
|
|
|
|
|
|
"print_angle_list": [],
|
|
|
|
|
|
"print_path_list": [],
|
|
|
|
|
|
"print_scale_list": []
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Trousers"
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"body_path": "aida-sys-image/models/female/2e4815b9-1191-419d-94ed-5771239ca4a5.png",
|
|
|
|
|
|
"image_id": 67277,
|
|
|
|
|
|
"offset": [
|
|
|
|
|
|
1,
|
|
|
|
|
|
1
|
|
|
|
|
|
],
|
|
|
|
|
|
"resize_scale": [
|
|
|
|
|
|
1.0,
|
|
|
|
|
|
1.0
|
|
|
|
|
|
],
|
|
|
|
|
|
"type": "Body"
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}
|
|
|
|
|
|
],
|
|
|
|
|
|
"process_id": "123"
|
|
|
|
|
|
}
|
|
|
|
|
|
start_time = time.time()
|
|
|
|
|
|
X = design_generate(object_data)
|
|
|
|
|
|
print(time.time() - start_time)
|
|
|
|
|
|
print(X)
|