Although this is a question from 5 years ago, I still think it is necessary to give a clear explanation: The direction of Cris Luengo's answer is accurate. I have read the source code of Pillow resample. When Pillow uses the bilinear filter for downsampling, although the weight calculation still follows the bilinear formula, the weight window is not just 2x2, but changes with the scaling ratio. That is to say, the information of a target pixel comes from more pixels than the nearby four pixels.