256色のgifイメージをPythonの128色または64色のgifイメージに再作成することはできますか?.gifイメージの各ピクセルの色数を変更しますか?
私はそれが働いている、しかし、問題は、画像ファイルがまだ「彼の宇宙は」色の256の可能な値(0〜255)であると考えているということであるImageIOにライブラリに
import imageio
def myfunction(inputgif, outputgif, duration):
gifimage = imageio.mimread(inputgif)
for i in range(len(gifimage)):
gifimage[i] = gifimage[i]/4
with imageio.get_writer(outputgif, mode='I', duration=duration) as writer:
for x in range(len(gifimage)):
writer.append_data(gifimage[x])
writer.close()
を使用して、それを試してみました0から64までではありません(すべての値を4で割ったので)。 64(4ビット)の色を使用するのではなく、画像が暗くなるだけです。
私の目標は、色数を減らして損失の多いデータ圧縮を得ることです。
あなたは知っていますが、元気なアプローチでは、ベクトル量子化(保持された色を最適化するため)とカスタムカラーパレット(以前に計算された色のみを使用します)を使用しますか?これはあなたのコードとは非常に異なります!私はあなたがあなたのアプローチで期待していることを知らない(それは、ある空間では線形の色変換を行い、あなたの期待に応じてはるかに損失が少ない)。おそらく、これをやっているlibsはおそらく多くありますが、これをPythonですべて実装することはいくつかの仕事かもしれません。 – sascha
@サシャーありがとうございます。私が使用できる図書館の例を教えてもらえますか? – Madno
よく知られているものの1つ(オープンソースの世界では):[ImageMagick](http://www.imagemagick.org/Usage/quantize/)。 – sascha