Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- import os.path
- import numpy as np
- import PIL
- from random import randint
- try:
- import Image
- except ImportError:
- from PIL import Image
- def readFile(nameoffile):
- list = []
- with open(nameoffile, 'r') as f:
- for line in f:
- list.append(line.rstrip())
- return list
- def randomTeam(characters):
- team = []
- while len(team) < 3:
- num = randint(0,len(characters)-1)
- chosen = characters[num]
- if chosen[0] == 'm':
- continue
- overlap = False
- for iter in team:
- if chosen[0] == iter[0]:
- overlap = True
- if not overlap:
- team.append(chosen)
- while len(team) < 4:
- master = characters[randint(0,len(characters)-1)]
- if master[0] == 'm':
- team.append(master)
- print(team)
- return team
- list = readFile('characters.txt')
- list_im = randomTeam(list)
- '''
- while ('b ed.jpg' not in list_im):
- list_im = randomTeam(list)
- '''
- imgs = [ PIL.Image.open(i) for i in list_im ]
- # pick the image which is the smallest, and resize the others to match it (can be arbitrary image shape here)
- min_shape = sorted( [(np.sum(i.size), i.size ) for i in imgs])[0][1]
- imgs_comb = np.hstack( (np.asarray( i.resize(min_shape) ) for i in imgs ) )
- # save that beautiful picture
- imgs_comb = PIL.Image.fromarray( imgs_comb)
- imgs_comb.save( 'Trifecta.jpg' )
- # for a vertical stacking it is simple: use vstack
- """
- imgs_comb = np.vstack( (np.asarray( i.resize(min_shape) ) for i in imgs ) )
- imgs_comb = PIL.Image.fromarray( imgs_comb)
- imgs_comb.save( 'Trifecta_vertical.jpg' )
- """
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement