Advertisement
Guest User

Untitled

a guest
Dec 15th, 2017
63,612
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. import cv2
  2. import numpy
  3. from pathlib import Path
  4.  
  5. from utils import get_image_paths
  6.  
  7. from model import autoencoder_A
  8. from model import autoencoder_B
  9. from model import encoder, decoder_A, decoder_B
  10.  
  11. encoder .load_weights( "models/encoder.h5" )
  12. decoder_A.load_weights( "models/decoder_A.h5" )
  13. decoder_B.load_weights( "models/decoder_B.h5" )
  14.  
  15. images_A = get_image_paths( "data/trump" )
  16. images_B = get_image_paths( "data/cage" )
  17.  
  18. def convert_one_image( autoencoder, image ):
  19. assert image.shape == (256,256,3)
  20. crop = slice(48,208)
  21. face = image[crop,crop]
  22. face = cv2.resize( face, (64,64) )
  23. face = numpy.expand_dims( face, 0 )
  24. new_face = autoencoder.predict( face / 255.0 )[0]
  25. new_face = numpy.clip( new_face * 255, 0, 255 ).astype( image.dtype )
  26. new_face = cv2.resize( new_face, (160,160) )
  27. new_image = image.copy()
  28. new_image[crop,crop] = new_face
  29. return new_image
  30.  
  31. output_dir = Path( 'output' )
  32. output_dir.mkdir( parents=True, exist_ok=True )
  33.  
  34. for fn in images_A:
  35. image = cv2.imread(fn)
  36. new_image = convert_one_image( autoencoder_B, image )
  37. output_file = output_dir / Path(fn).name
  38. cv2.imwrite( str(output_file), new_image )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement