Can you kindly provide the code for down-sample image and add Gaussian noise?
Posted by: baseline @ Feb. 20, 2022, 5:48 a.m.Hi. Part of the challenge is to prepare your input set to train your network; and it will depend on the programing language you are working on. Just an example in python using opencv library:
img_bicubic = cv2.resize(img, (0,0), fx=0.5, fy=0.5, interpolation=cv2.INTER_CUBIC)
img_gauss = cv2.GaussianBlur(img, (0,0), sigmaX=10, sigmaY=10)
However, you can use your own downsampling and noise process.
Posted by: rafariva @ Feb. 21, 2022, 6:59 p.m.hi, so the down-sample should be placed before add noise?
img_bicubic = cv2.resize(img, (0,0), fx=0.5, fy=0.5, interpolation=cv2.INTER_CUBIC)
img_gauss = cv2.GaussianBlur(img_bicubic, (0,0), sigmaX=10, sigmaY=10)
instead of:
img_gauss = cv2.GaussianBlur(img, (0,0), sigmaX=10, sigmaY=10)
The generated downsampled and noised set for training your network can be done as you prefer. Your network should be able to generate a superresolution image.
Posted by: rafariva @ Feb. 24, 2022, 1:48 p.m.I'd like to know (if possible) how the images for evaluation 1 are obtained.
In the description of "Evaluation Criteria", it says "a set of 10 single down-sampled and noisy images (opencv bicubic and gauss std.dev. 10)."
So the evaluation images are obtained in the sequence of "bicubic downsampling and then gaussian blurring"?
Thanks a lot!
Dear Participant
Please find below a python code to generate the noisy downsampled images.
img = cv2.imread(file,0)
noisy_image = img + np.random.normal(0, 10**0.5, img.shape)
cv2.normalize(noisy_image, noisy_image, 0, 255, cv2.NORM_MINMAX, dtype=-1)
noisy_image = noisy_image.astype(np.uint8)
resized = cv2.resize(noisy_image, (width, height))