Spaces:
Sleeping
Sleeping
from scipy.misc import imsave | |
from menpo_functions import * | |
from data_loading_functions import * | |
# define paths & parameters for cropping dataset | |
img_dir = '~/landmark_detection_datasets/' | |
dataset = 'training' | |
bb_type = 'gt' | |
margin = 0.25 | |
image_size = 256 | |
# load bounding boxes | |
bb_dir = os.path.join(img_dir, 'Bounding_Boxes') | |
bb_dictionary = load_bb_dictionary(bb_dir, mode='TRAIN', test_data=dataset) | |
# directory for saving face crops | |
outdir = os.path.join(img_dir, 'crop_'+bb_type+'_margin_'+str(margin)) | |
if not os.path.exists(outdir): | |
os.mkdir(outdir) | |
# load images | |
imgs_to_crop = load_menpo_image_list( | |
img_dir=img_dir, train_crop_dir=None, img_dir_ns=None, mode='TRAIN', bb_dictionary=bb_dictionary, | |
image_size=image_size, margin=margin, bb_type=bb_type, augment_basic=False) | |
# save cropped images with matching landmarks | |
print ("\ncropping dataset from: "+os.path.join(img_dir, dataset)) | |
print ("\nsaving cropped dataset to: "+outdir) | |
for im in imgs_to_crop: | |
if im.pixels.shape[0] == 1: | |
im_pixels = gray2rgb(np.squeeze(im.pixels)) | |
else: | |
im_pixels = np.rollaxis(im.pixels, 0, 3) | |
imsave(os.path.join(outdir, im.path.name.split('.')[0]+'.png'), im_pixels) | |
mio.export_landmark_file(im.landmarks['PTS'], os.path.join(outdir, im.path.name.split('.')[0]+'.pts')) | |
print ("\ncropping dataset completed!") | |