Sketchycoco:根据coco中图像获得对应的caption,并生成prompt.json文件

import os
import shutil
import json
import random


root = r"G:\SketchDiffusion\Sketchycoco\Dataset\Scene"
image_path = os.path.join(root, "source", "train")
filename_list = os.listdir(image_path)
prompts = []
for i, filename in enumerate(filename_list):
    img_name = filename.split('.')[0]
    # search txt matching with image
    caption_path = r"G:\SketchDiffusion\Sketchycoco\Dataset\caption"
    for caption_txt in os.listdir(caption_path):
        txt_name = caption_txt.split('.')[0]
        if txt_name == "coco_"+img_name:
            txt_path = os.path.join(caption_path, caption_txt)
            with open(txt_path, 'r') as f1:
                content = f1.readlines()
            row_index = random.randint(0, len(content) - 1)
            random_row = content[row_index].replace("\n", "")
            if random_row.endswith("."):
                random_row = random_row.replace(".", "")
            prompt = random_row + " in the style of sketch"
            prompts.append({"source": "source/train/"+filename,
                            "target": "target/train/"+img_name+'.png',
                            "prompt": prompt})
            break
    # if i > 4:
    #     break

json_path = os.path.join(root, "train_prompt.json")
with open(json_path, 'w') as f2:
    for line in prompts:
        json.dump(line, f2)
        f2.write('\n')
print('over!')



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码小白的成长

计算机网络PPT下载

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值