Last active
December 3, 2022 11:52
-
-
Save LoliC0d3/f2269b128d6f0f8371d3b9633b3ef44e to your computer and use it in GitHub Desktop.
Low Graphic image to HD image
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
https://colab.research.google.com/drive/1k2Zod6kSHEvraybHl50Lys0LerhyTMCo?usp=sharing#scrollTo=lHNHoP8PZJQ7 | |
# Clone Real-ESRGAN and enter the Real-ESRGAN | |
!git clone https://github.com/xinntao/Real-ESRGAN.git | |
%cd Real-ESRGAN | |
# Set up the environment | |
!pip install basicsr | |
!pip install facexlib | |
!pip install gfpgan | |
!pip install -r requirements.txt | |
!python setup.py develop | |
# Upload Image | |
import os | |
from google.colab import files | |
import shutil | |
upload_folder = 'upload' | |
result_folder = 'results' | |
if os.path.isdir(upload_folder): | |
shutil.rmtree(upload_folder) | |
if os.path.isdir(result_folder): | |
shutil.rmtree(result_folder) | |
os.mkdir(upload_folder) | |
os.mkdir(result_folder) | |
# upload images | |
uploaded = files.upload() | |
for filename in uploaded.keys(): | |
dst_path = os.path.join(upload_folder, filename) | |
print(f'move {filename} to {dst_path}') | |
shutil.move(filename, dst_path) | |
# Inference | |
# if it is out of memory, try to use the `--tile` option | |
# We upsample the image with the scale factor X3.5 | |
!python inference_realesrgan.py -n RealESRGAN_x4plus -i upload --outscale 3.5 --face_enhance | |
# Arguments | |
# -n, --model_name: Model names | |
# -i, --input: input folder or image | |
# --outscale: Output scale, can be arbitrary scale factore. | |
# Visualization | |
# utils for visualization | |
import cv2 | |
import matplotlib.pyplot as plt | |
def display(img1, img2): | |
fig = plt.figure(figsize=(25, 10)) | |
ax1 = fig.add_subplot(1, 2, 1) | |
plt.title('Input image', fontsize=16) | |
ax1.axis('off') | |
ax2 = fig.add_subplot(1, 2, 2) | |
plt.title('Real-ESRGAN output', fontsize=16) | |
ax2.axis('off') | |
ax1.imshow(img1) | |
ax2.imshow(img2) | |
def imread(img_path): | |
img = cv2.imread(img_path) | |
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) | |
return img | |
# display each image in the upload folder | |
import os | |
import glob | |
input_folder = 'upload' | |
result_folder = 'results' | |
input_list = sorted(glob.glob(os.path.join(input_folder, '*'))) | |
output_list = sorted(glob.glob(os.path.join(result_folder, '*'))) | |
for input_path, output_path in zip(input_list, output_list): | |
img_input = imread(input_path) | |
img_output = imread(output_path) | |
display(img_input, img_output) | |
# Download Result | |
# Download the results | |
zip_filename = 'Real-ESRGAN_result.zip' | |
if os.path.exists(zip_filename): | |
os.remove(zip_filename) | |
os.system(f"zip -r -j {zip_filename} results/*") | |
files.download(zip_filename) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment