Created
August 16, 2019 04:01
-
-
Save horitaku1124/c5d907890652dea2064740a1cd3baeb4 to your computer and use it in GitHub Desktop.
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
import numpy as np | |
from PIL import Image | |
from ISR.models import RDN | |
from tensorflow.compat.v1 import ConfigProto | |
from tensorflow.compat.v1 import InteractiveSession | |
config = ConfigProto() | |
config.gpu_options.allow_growth = True | |
session = InteractiveSession(config=config) | |
img_name = './data/1.jpg' | |
img = Image.open(img_name) | |
print(img.size) | |
scale = 2 | |
process_box = 1000 | |
out_img = Image.new('RGB', (img.size[0] * scale, img.size[1] * scale)) | |
rdn = RDN(arch_params={'C':6, 'D':20, 'G':64, 'G0':64, 'x':2}) | |
rdn.model.load_weights('weights/sample_weights/rdn-C6-D20-G64-G064-x2/ArtefactCancelling/rdn-C6-D20-G64-G064-x2_ArtefactCancelling_epoch219.hdf5') | |
xNum = img.size[0] // process_box | |
yNum = img.size[1] // process_box | |
xDiv = img.size[0] % process_box | |
yDiv = img.size[1] % process_box | |
for i in range(0, xNum): | |
for j in range(0, yNum): | |
left = i * process_box | |
top = j * process_box | |
right = process_box + left | |
bottom = process_box + top | |
print(top, left, "->", bottom, right) | |
cropped_example = img.crop((left, top, right, bottom)) | |
lr_img = np.array(cropped_example) | |
sr_img = rdn.predict(lr_img) | |
new_img = Image.fromarray(sr_img) | |
out_img.paste(new_img, (i * process_box * scale, j * process_box * scale)) | |
top = yNum * process_box | |
bottom = img.size[1] | |
for i in range(0, xNum): | |
left = i * process_box | |
right = process_box + left | |
print(top, left, "->", bottom, right) | |
cropped_example = img.crop((left, top, right, bottom)) | |
lr_img = np.array(cropped_example) | |
sr_img = rdn.predict(lr_img) | |
new_img = Image.fromarray(sr_img) | |
out_img.paste(new_img, (left * scale, top * scale)) | |
left = xNum * process_box | |
right = img.size[0] | |
for j in range(0, yNum): | |
top = j * process_box | |
bottom = process_box + top | |
print(top, left, "->", bottom, right) | |
cropped_example = img.crop((left, top, right, bottom)) | |
lr_img = np.array(cropped_example) | |
sr_img = rdn.predict(lr_img) | |
new_img = Image.fromarray(sr_img) | |
out_img.paste(new_img, (left * scale, top * scale)) | |
left = xNum * process_box | |
right = img.size[0] | |
top = yNum * process_box | |
bottom = img.size[1] | |
print(top, left, "->", bottom, right) | |
cropped_example = img.crop((left, top, right, bottom)) | |
lr_img = np.array(cropped_example) | |
sr_img = rdn.predict(lr_img) | |
new_img = Image.fromarray(sr_img) | |
out_img.paste(new_img, (left * scale, top * scale)) | |
out_img.save('outimg.png') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment