Spaces:
Runtime error
Runtime error
| import torch | |
| from PIL import Image | |
| from RealESRGAN import RealESRGAN | |
| import os | |
| # Function to perform inference and upscale the image | |
| def upscale_image(image_path, scale): | |
| # Initialize device | |
| device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') | |
| # Initialize and load models | |
| model = RealESRGAN(device, scale=scale, weights_only=False) | |
| model.load_weights(f'weights/RealESRGAN_x{scale}.pth', download=True) | |
| # Open the image from the file path | |
| try: | |
| image = Image.open(image_path) | |
| except Exception as e: | |
| print(f"Error opening the image: {e}") | |
| return | |
| # Perform inference | |
| try: | |
| result = model.predict(image.convert('RGB')) | |
| except Exception as e: | |
| print(f"Error during inference: {e}") | |
| return | |
| # Save the upscaled image | |
| output_path = f'upscaled_image_x{scale}.png' | |
| result.save(output_path, 'PNG') | |
| print(f"Upscaled image saved to {output_path}") | |
| if __name__ == '__main__': | |
| # Path of the image to be upscaled | |
| image_path = './groot.jpeg' | |
| # Scaling factor (2x, 4x, or 8x) | |
| scale = input("Enter the scaling factor (2, 4, or 8): ") | |
| # Validate scale | |
| if scale not in ['2', '4', '8']: | |
| print("Invalid scale factor. Please enter 2, 4, or 8.") | |
| else: | |
| upscale_image(image_path, int(scale)) |