import os
from PIL import Image
import numpy as np

def predict(path):
  img = Image.open(path)
  img_arr = np.array(img)
# perform some processing
# …
  return img_arr

folder_path = "/content/gdrive/My Drive/castle/" # your image folder path, which should contain the images you want to process
output_folder = "/content/gdrive/My Drive/castle/Processed/" # your output folder path (must already exist)

for filename in os.listdir(folder_path):
  if filename.endswith(("jpeg", "png", "jpg", "PNG", "JPEG", "JPG")): # process only image files
    image_path = os.path.join(folder_path, filename)
enhanced_image_array = predict(image_path) # Get predictions
enhanced_pil_image = Image.fromarray(enhanced_image_array) # get PIL image from array
enhanced_pil_image.save(os.path.join(output_folder, os.path.splitext(filename)[0] + os.path.splitext(filename)[1])) # Save the image---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
/usr/local/lib/python3.9/dist-packages/PIL/Image.py in save(self, fp, format, **params)
   2219             try:
-> 2220                 format = EXTENSION[ext]
   2221             except KeyError as e:

KeyError: ''

The above exception was the direct cause of the following exception:

ValueError                                Traceback (most recent call last)
1 frames
/usr/local/lib/python3.9/dist-packages/PIL/Image.py in save(self, fp, format, **params)
   2220                 format = EXTENSION[ext]
   2221             except KeyError as e:
-> 2222                 raise ValueError(f"unknown file extension: {ext}") from e
   2223 
   2224         if format.upper() not in SAVE:

ValueError: unknown file extension: 
