h2non / bimg

Go package for fast high-level image processing powered by libvips C library
https://pkg.go.dev/github.com/h2non/bimg?tab=doc
MIT License
2.69k stars 337 forks source link

Moiré patterns on resize #287

Open rrva opened 5 years ago

rrva commented 5 years ago

The resize method in bimg gives moiré patterns when resizing from 1920x1080 to 480x270 with the following original image:

moire

When resizing to 480x270 there are moiré patterns:

moire-480

When resizing to 481, the moiré pattern is gone:

moire-481

Code used

originalImageBytes, err := bimg.Read("moire.jpg")

newImageBytes, err := bimg.NewImage(originalImageBytes).Process(bimg.Options{
    Width:         int(requestedWidth),
    StripMetadata: true,
})
rrva commented 5 years ago

Maybe related to shrink-on-load in libjpeg-turbo:

https://github.com/lovell/sharp/issues/883