-
Notifications
You must be signed in to change notification settings - Fork 3
/
afro_postprocess.py
38 lines (28 loc) · 932 Bytes
/
afro_postprocess.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import numpy as np
from ISR.models import RDN
from PIL import Image, ImageFilter
if __name__ == '__main__':
print('Hallo, Afro super resolutor is here!')
# model formation out of function for speed
rdn = RDN(weights='psnr-small')
def superresolute(lr_img, scale=2):
"""
Takes an image with low resolution and increases it
Input: PIL Image, Output: PIL Image
"""
assert type(lr_img) == np.ndarray
lr_img = lr_img * 255
for _ in range(scale):
lr_img = rdn.predict(lr_img)
return lr_img
def imgfilter(img, radius=3):
"""
Takes the image and removes the noise with little affect to resolution
Input: PIL Image, Output: PIL Image
"""
assert type(img) == np.ndarray
img = Image.fromarray(img)
lol = img.filter(ImageFilter.GaussianBlur(radius=radius))
lol2 = lol.filter(ImageFilter.EDGE_ENHANCE_MORE)
final_img = np.array(lol2)
return final_img