#!/usr/bin/env python import csv import os import math from skimage import io from skimage import transform as tf # Import legend.csv and save my (jhamski) image files to a list script_dir = os.path.dirname(__file__) full_path_csv = os.path.join(script_dir, '../data/legend.csv') ifile = open(full_path_csv, "rb") reader = csv.reader(ifile) jhamski_pics = [] for row in reader: if row[0] == 'jhamski': pic_name = row[1] jhamski_pics.append(pic_name) ifile.close() #function to read in images def read_image(image_name, script_dir): image_path = os.path.join(script_dir, '../images/%s' % image_name) img = io.imread(image_path) return img def save_image(img, name, trans_type): name = os.path.splitext(name)[0] script_dir = os.path.dirname(__file__) full_path_images = os.path.join(script_dir, '../images/', name + "_" + trans_type + '.png') io.imsave(full_path_images, img) #io.imsave(name + "_" + trans_type + '.png', img,) #setup image transformation functions def warp12(img, name): tform = tf.SimilarityTransform(scale=1, rotation=math.pi / 4, translation=(img.shape[0] / 2, -100)) af_img = tf.warp(img, tform) save_image(af_img, name, 'warp1') af_img2 = tf.warp(img, tform.inverse) save_image(af_img2, name, 'warp2') def warp34(img, name): tform = tf.AffineTransform(shear=math.pi / -3.6) af_img3 = tf.warp(img, tform) save_image(af_img3, name, 'warp3') af_img4 = tf.warp(img, tform.inverse) save_image(af_img4, name, 'warp4') def rotate180(img, name): img = tf.rotate(img, angle = 180) save_image(img, name, 'rotate180') def rotate90(img, name): img = tf.rotate(img, angle = 90) save_image(img, name, 'rotate90') def rotate270(img, name): img = tf.rotate(img, angle = 270) save_image(img, name, 'rotate270') def rotate30(img, name): img = tf.rotate(img, angle = 30) save_image(img, name, 'rotate30') def rotate120(img, name): img = tf.rotate(img, angle = 120) save_image(img, name, 'rotate120') def rotate300(img, name): img = tf.rotate(img, angle = 300) save_image(img, name, 'rotate300') def rotate210(img, name): img = tf.rotate(img, angle = 210) save_image(img, name, 'rotate210') # read in each image in the in the list, transform, and save # swap out testing length 5 for len(jhamski_pics) for i in range(0, len(jhamski_pics)): img = read_image(jhamski_pics[i], script_dir) warp12(img, jhamski_pics[i]) warp34(img, jhamski_pics[i]) rotate180(img, jhamski_pics[i]) rotate90(img, jhamski_pics[i]) rotate270(img, jhamski_pics[i]) rotate30(img, jhamski_pics[i]) rotate120(img, jhamski_pics[i]) rotate300(img, jhamski_pics[i]) rotate210(img, jhamski_pics[i])