0

フォルダ内のすべての画像をそれぞれのサイズの90%に縮小しようとしています。PNG画像を縮小すると画像サイズが大きくなる

しかし、私が実行すると、イメージのサイズは実際には(期待通りに)減少する代わりに増加しています。

例えば、オリジナル画像885x1130 466キロバイト

enter image description here

出力イメージ796x1017 1.44メガバイト!

enter image description here

私はそれらを回転させながらPNG画像で以前かなり似て非直感的な経験を持っていたとexplanation about it here on Stackoverflowを持っています。しかし、これはおそらく同じ問題であると私は確信できません。

任意の手がかり? PNGサイズを減らすために何かできることはありますか?必要であれば品質は少し落ちています。

+1

あなたはこれらの画像を縮小していますあなたがしたいので、より小さいピクセルサイズ?それとも、ファイルのバイトサイズを小さくしようとしていますか? –

+3

アンチエイリアスを使用して拡大縮小すると、オリジナルには存在しない中間色の_lot_が作成され、画像の圧縮率が変更されることに注意してください。 PNGには多くの圧縮オプションがありますが、圧縮を「調整」できるパラメータへのアクセスを提供するプログラムはほとんどなく、最適なパラメータの選択は複雑な作業です。周りに浮かぶPNG再圧縮プログラムがいくつかあります。私は、[OptiPNG](http://optipng.sourceforge.net)を使用してお勧めします。 –

+0

@ PM2Ringファイルサイズを小さくしたい。そして、はい、私は後処理の一部としてOptiPNGを使用していますが、私が望んだところまでサイズを縮小していませんでした。だから私はそれを縮小し、ファイルサイズの減少を予想した。 –

答えて

1

高品質のダウンサンプリングフィルタであるImage.ANTIALIASフィルタを使用しました。

画像を縮小するには、画像を保存するときにoptimize=Truequality=90を使用します。以下のような -

imResize.save(path + "/Out/" + fileName + ' resized_' + str(scalingFactor) + ".png" ,optimize=True,quality=90) 

最適化フラグは、できるだけサイズです削減する方法を見つけるために、画像上の余分なパスを行います。

さらにサイズを縮小するために、保存オプションで品質値を変更できます。

品質はあまり影響を受けず、ファイルサイズははるかに小さいので、私は8536をoptimizeに置き換えました。

希望すると便利です。

ちょうどあなたの答えに追加するには、すべてのフィルタは、実行速度対品質に関する意思決定を行うためにここに記載されています

など

http://pillow.readthedocs.io/en/3.4.x/handbook/concepts.html#concept-filters

+0

ありがとう@amit。素晴らしい助け! – Tanu

関連する問題