test-image-generator / generate.py
Srgr0
Update generate.py
f638a7f
import os
import argparse
from PIL import Image
import numpy as np
def create_large_image(file_path, target_size_mb):
target_size_bytes = target_size_mb * 1024 * 1024
num_pixels = target_size_bytes // 3
dimension = int(np.sqrt(num_pixels))
image = Image.fromarray(np.random.randint(0, 256, (dimension, dimension, 3), dtype=np.uint8))
image.save(file_path)
return file_path
def create_multiple_large_images(base_path, target_size_mb, num_images):
created_image_paths = []
for i in range(num_images):
# Generate an image
file_path = f"{base_path}{i}.png"
create_large_image(file_path, target_size_mb)
created_image_paths.append(file_path)
return created_image_paths
def main():
parser = argparse.ArgumentParser(description='Generate large random images.')
parser.add_argument('-b', '--base_path', type=str, required=True, help='Base path for image generation')
parser.add_argument('-s', '--size', type=int, required=True, help='Target size of the images in MB')
parser.add_argument('-n', '--num', type=int, required=True, help='Number of images to generate')
args = parser.parse_args()
base_path = args.base_path
target_size_mb = args.size
num_images = args.num
created_image_paths = create_multiple_large_images(base_path, target_size_mb, num_images)
if __name__ == "__main__":
main()