def extract_backgrounds(archive_name):
 os.mkdir('bgs')
 t = tarfile.open(name=archive_name)
 def members():
  m = t.next()
  while m:
   (yield m)
   m = t.next()
 index = 0
 for m in members():
  if (not m.name.endswith('.jpg')):
   continue
  f = t.extractfile(m)
  try:
   im = im_from_file(f)
  finally:
   f.close()
  if (im is None):
   continue
  if (im.shape[0] > im.shape[1]):
   im = im[:im.shape[1], :]
  else:
   im = im[:, :im.shape[0]]
  if (im.shape[0] > 256):
   im = cv2.resize(im, (256, 256))
  fname = 'bgs/{:08}.jpg'.format(index)
  print fname
  rc = cv2.imwrite(fname, im)
  if (not rc):
   raise Exception('Failed to write file {}'.format(fname))
  index += 1

def extract_backgrounds ( archive_name ) : os . mkdir ( 'bgs' ) t = tarfile . open ( name = archive_name ) def members ( ) : m = t . next ( ) while m : ( yield m ) m = t . next ( ) index = 0 for m in members ( ) : if ( not m . name . endswith ( '.jpg' ) ) : continue f = t . extractfile ( m ) try : im = im_from_file ( f ) finally : f . close ( ) if ( im is None ) : continue if ( im . shape [ 0 ] > im . shape [ 1 ] ) : im = im [ : im . shape [ 1 ] , : ] else : im = im [ : , : im . shape [ 0 ] ] if ( im . shape [ 0 ] > 256 ) : im = cv2 . resize ( im , ( 256 , 256 ) ) fname = 'bgs/{:08}.jpg' . format ( index ) print fname rc = cv2 . imwrite ( fname , im ) if ( not rc ) : raise Exception ( 'Failed to write file {}' . format ( fname ) ) index += 1
extract backgrounds from provided tar archive .