marlenezw's picture
more changes to the third party lib.
dd38ad1
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!")