人臉補全實驗中配對圖像配置文件的生成與破損圖像的生成

1)配置文件生成java代碼:

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStreamWriter;

public class test {

public static void main(String[] args)throws IOException {

// TODO Auto-generated method stub

String file="F:/train.txt";

String charSet="UTF-8";

//寫字符轉換成字節流

FileOutputStream fileWriter=new FileOutputStream(file);

OutputStreamWriter ow=new OutputStreamWriter(fileWriter, charSet);

?long i = 1;

try {

while(i<=100000)

{

?ow.write("./data/training_data_example/gt_label/"+String.format("%06d", i)+".jpg ?");

?ow.write("./data/training_data_example/data/"+String.format("%06d-1", i)+".jpg \n");

?ow.write("./data/training_data_example/gt_label/"+String.format("%06d", i)+".jpg ?");

?ow.write("./data/training_data_example/data/"+String.format("%06d-2", i)+".jpg \n");

?ow.write("./data/training_data_example/gt_label/"+String.format("%06d", i)+".jpg ?");

?ow.write("./data/training_data_example/data/"+String.format("%06d-3", i)+".jpg \n");

?ow.write("./data/training_data_example/gt_label/"+String.format("%06d", i)+".jpg ?");

?ow.write("./data/training_data_example/data/"+String.format("%06d-4", i)+".jpg \n");

?ow.write("./data/training_data_example/gt_label/"+String.format("%06d", i)+".jpg ?");

?ow.write("./data/training_data_example/data/"+String.format("%06d-5", i)+".jpg \n");

?ow.write("./data/training_data_example/gt_label/"+String.format("%06d", i)+".jpg ?");

?ow.write("./data/training_data_example/data/"+String.format("%06d-6", i)+".jpg \n");

?ow.write("./data/training_data_example/gt_label/"+String.format("%06d", i)+".jpg ?");

?ow.write("./data/training_data_example/data/"+String.format("%06d-7", i)+".jpg \n");

?ow.write("./data/training_data_example/gt_label/"+String.format("%06d", i)+".jpg ?");

?ow.write("./data/training_data_example/data/"+String.format("%06d-8", i)+".jpg \n");

?ow.write("./data/training_data_example/gt_label/"+String.format("%06d", i)+".jpg ?");

?ow.write("./data/training_data_example/data/"+String.format("%06d-9", i)+".jpg \n");

?ow.write("./data/training_data_example/gt_label/"+String.format("%06d", i)+".jpg ?");

?ow.write("./data/training_data_example/data/"+String.format("%06d-10", i)+".jpg \n");

?i++;

?}

}

?catch (Exception e) {

// TODO: handle exception

}finally{

ow.close();

}

}

}

2)殘缺圖像生成

import cv2

import os

import random

import numpyas np

root_path= "./"

dir= root_path+"img_align_celeba"+"/"

for root, dir, filesin os.walk(dir):

? ? ? ?for filein files:

? ? ? ? ? ? img= cv2.imread(root_path+ "img_align_celeba" + "/" + str(file))

? ? ? ? ? ? count= 1

? ? ? ? ? ? while count< 11:

? ? ? ? ? ? ? ? ? ? ? ? ?#centralpoint = (109,89)

? ? ? ? ? ? ? ? ? ? ? ? ?x1= 109 + random.randint(-35, 35)

? ? ? ? ? ? ? ? ? ? ? ? ?y1= 89 + random.randint(-40, 40)

? ? ? ? ? ? ? ? ? ? ? ? ? x2= 50 + x1

? ? ? ? ? ? ? ? ? ? ? ? ? y2= 50 + y1

? ? ? ? ? ? ? ? ? ? ? ? ? print("%d,%d,%d,%d" % (x1, x2, y1, y2))

? ? ? ? ? ? ? ? ? ? ? ? ? ?mask= np.zeros([218,178], dtype=np.uint8)

? ? ? ? ? ? ? ? ? ? ? ? ? ?mask[x1:x2, y1:y2]= 255

? ? ? ? ? ? ? ? ? ? ? ? ? ? mask= -(mask- 255)

? ? ? ? ? ? ? ? ? ? ? ? ? ? image= cv2.add(img, np.zeros(np.shape(img), dtype=np.uint8), mask=mask)

? ? ? ? ? ? ? ? ? ? ? ? ? ? image[x1:x2, y1:y2]= 255

? ? ? ? ? ? ? ? ? ? ? ? ? ? #(filepath, tempfilename) = os.path.split(str(file))

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(filename, extension)= os.path.splitext(str(file))

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cv2.imwrite(root_path+ "test/" + filename+"-%d"%(count)+extension, image)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? count+= 1

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容