|
from pathlib import Path |
|
from PIL import Image |
|
|
|
Image.MAX_IMAGE_PIXELS = 1000000000 |
|
|
|
def resize_image(file_path, scale_percent): |
|
with Image.open(file_path) as img: |
|
width, height = img.size |
|
new_width = int(width * scale_percent / 100) |
|
new_height = int(height * scale_percent / 100) |
|
img_resized = img.resize((new_width, new_height)) |
|
return img_resized |
|
|
|
def process_files_in_directory(directory_path, size_threshold, scale_percent): |
|
dir_path = Path(directory_path) |
|
for file_path in dir_path.glob('*.png'): |
|
file_size = file_path.stat().st_size |
|
if file_size >= size_threshold: |
|
img_resized = resize_image(file_path, scale_percent) |
|
img_resized.save(file_path) |
|
resized_file_size = file_path.stat().st_size |
|
print(f"Resized and saved {file_path} with new size: {resized_file_size} bytes") |
|
|
|
if __name__ == "__main__": |
|
directory_path = r"E:\Dataset\XXXXXXX" |
|
size_threshold = 32 * 1024 * 1024 |
|
scale_percent = 50 |
|
|
|
process_files_in_directory(directory_path, size_threshold, scale_percent) |
|
|