ちょっと前に見つけたlibjxlを試してみよう。
git clone https://github.com/libjxl/libjxl
cd libjxl
git submodule update --init --recursive
mkdir build
cd build
../deps.sh
cmake ..
make
つぎのように使用する。
$ ./tools/cjpegli sample.png sample.jpg -q 80
つぎのオリジナル画像をクォリティを80%設定でGIMPとcjpegcで変換してみた。
元のファイルはPNGファイルで18,944,591Byteである。
GIMPでコンバートすると1,168,775Byteであった。
cjpegliでは748,832Byteであった。
これを差分で比較するとつぎの画像になる。
確かに差分はあるんだなぁというぐらいでこんなの誤差で見分けつかないなぁ。
つまり、綺麗に小さくできるということか。