For example, if we upscale an image from 100 x 100 to 400 x 300 then we see the pixel stretch in the image which I want to eliminate.

The easiest way I could think is to crop the image to maintain the pixel aspect ratio i.e. upscaling to 300 x 300 or 400 x 400

Edit (Clarification): I want upscale an image without causing pixels to stretch, upsampling algorithms like nearest neighbor, bilinear interpolation, etc cause pixel stretching, especially when there is a change in aspect ratio e.g. from 1:1 to 16:9

  • $\begingroup$ Can you please clarify what you are asking a little bit more? What are you trying to achieve? $\endgroup$
    – A_A
    Sep 14, 2017 at 9:29
  • $\begingroup$ @A_A Please see the edited question $\endgroup$
    – Diptej
    Sep 15, 2017 at 1:07

1 Answer 1


Popular cheap methods are:

  • Letterboxing enter image description here

  • Cropping enter image description here

  • A combined method: cropping, overlapped by the letterboxed image enter image description here

The combined method works surprisingly well in videos, and people are quite accustomed to viewing such videos.

Photoshop and others also have smart content-aware scaling/resizing algorithms that re-organize or generate image content to the new image size. I don't have PhotoShop to demonstrate it with, but here is a video from Adobe.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.