Spaces:
Running
on
A10G
Running
on
A10G
File size: 2,081 Bytes
44f2ca8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
from PIL import Image
import os
import re
import tqdm
def create_grid(directory, save_path=None):
# Get list of image files in the directory
files = sorted([f for f in os.listdir(directory) if f.endswith('.png')])
# Assuming all images are the same size
img_sample = Image.open(os.path.join(directory, files[0]))
width, height = img_sample.size
# Calculate grid dimensions for 24 images
grid_width = width * 6 # 6 images in each row
grid_height = height * 4 # 4 rows
# Create new image for the grid
grid_img = Image.new('RGB', (grid_width, grid_height))
for idx, file in enumerate(files):
img = Image.open(os.path.join(directory, file))
x = idx % 6 * width # 6 images in each row
y = idx // 6 * height # 4 rows
grid_img.paste(img, (x, y))
if save_path:
grid_img.save(f'{save_path}/{directory.split("/")[-1]}_grid.png')
else:
grid_img.save(f'{directory}_grid.png')
def list_subdirectories(parent_directory):
# Regex pattern to match the subdirectory naming convention
pattern = re.compile(r"\d+_of_\d+_masked1")
# List all subdirectories
subdirs = [d for d in os.listdir(parent_directory) if os.path.isdir(os.path.join(parent_directory, d))]
# Filter subdirectories based on naming convention
matching_subdirs = [d for d in subdirs if pattern.match(d)]
return matching_subdirs
# List of directories
# for prompt in ["A cat walking in a park", "A dog running in a park", " A wooden barrel drifting on a river", "A kite flying in the sky"]:
# for prompt in ["A car driving on the road"]:
# try:
# directories = list_subdirectories(f"demo4/video41-att_mask/{prompt}")
# except FileNotFoundError:
# print(f"Directory not found: {prompt}")
# continue
# os.makedirs(f"demo4/{prompt}/consolidated_grids", exist_ok=True)
# for directory in tqdm.tqdm(directories):
# create_grid(os.path.join(f"demo4/video41-att_mask/{prompt}", directory), save_path=f"demo4/{prompt}/consolidated_grids")
|