默认参数下pix2pixhd在较小同分辨率(256,512)下效果也比pix2pix好,该脚本适用pix2pix tf官方和pix2pixhd pytorch官方code的数据集格式转化
from PIL import Image
import os
path = "/Users/xxxxx/"
os.listdir(path)
to_path_A = '/Users/xxxx/A'
to_path_B = '/Users/xxxx/B'
#分割图片
def cut_image(image,count):
dir = path + image
dir = Image.open(dir)
width, height = dir.size[0],dir.size[1]
item_width = int(width / count)
item_height = height
box_list = []
# (left, upper, right, lower)#(0,0,256,256)(256,0,512,256)
for i in range(0,count):
box = (i*item_width,0,(i+1)*item_width,item_height)
box_list.append(box)
#左A右B保存图片
image_list = [dir.crop(box) for box in box_list]
for i in range(len(image_list)):
if i == 0:
trainB = image_list[0]
trainB.save(to_path_B + image, 'PNG')
if i == 1:
trainA = image_list[1]
trainA.save(to_path_A + image, 'PNG')
return image +'---done---'
for image in os.listdir(path):
if not image.endswith('png'):
continue
cut_image(image,2)