TL;DR: I attempt to upscale a low resolution movie poster using the super_image python package. Though overall the image looks sharper, the text in the upscaled poster is not too clear.

  1. I have a poster of a movie released in 1962, it is not super high resolution:

gk_original

  1. I wanted to see if I could upscale this poster using super_image, a freely available python package that contains various image upscaling models.

  2. I first install the package using pip install super_image, the python version I’m using is 3.8.16, as setup in a previous post. I also installed the pillow package for image processing help and ipywidgets for interactive widgets in Jupyter notebooks.

  3. I now attempt to upscale the image by 4x using the DRLN (Densely Residual Laplacian Super-Resolution) method, since it is ranked #1 of the 16 models available for upscaling an image by 4x.

  4. Below is the code I used to do this. Note that the original image is in the same folder as the notebook that contained this code.

    # import packages needed
    from super_image import DrlnModel, ImageLoader
    from PIL import Image
    
    # create the image object
    image = Image.open('Gundamma_Katha.jpeg')
    
    # model, input and prediction steps
    model = DrlnModel.from_pretrained('eugenesiow/drln', scale=4)
    inputs = ImageLoader.load_image(image)
    preds = model(inputs)
    
    # check upscaled output
    ImageLoader.save_image(preds, './gk_4x_01.png')
    ImageLoader.save_compare(inputs, preds, './gk_4x_compare_01.png')
    
  5. The final image and the original image are provided below side by side for comparison:

gk_4x_upscale_compare

  1. Though the final image is now larger and the image is sharper (for the most part), the text is not as clear in places (though decipherable and slightly better when compared to the original).

The code above can be modified to use the other models listed on the package page.