web-dev-qa-db-ja.com

PNGのビット深度を8ビットから32ビットに変換すると品質が向上しますか?

画像は32ビットから8ビットに変換されます。 32ビットに変換して戻した後に失われた情報はありますか?

1
user944870

私は一般的です、はい...しかし厳密に言えば、それはあなたのイメージに依存します。 (たとえば)事前にすべて黒だった場合、何も失われません;)

PNG画像では、色(および色成分)は通常1、2、4、8、または16ビットでエンコードされます。 )ピクセルおよびカラーチャネル(R、G、Bなど)ごとにあるため、「32ビット」はおそらく「8ビット/ピクセルとアルファチャネルバイト」を意味します。ピクセルあたりのビット数を減らして画像サイズを小さくすると、lessの異なる値を区別でき、情報が失われます。画像をより高いピクセルあたりのビットエンコーディングに変換し直すと、元のピクセル値を再構築することはできません(ただし、少なくともsimilarが得られます)もの)。

重要な例外:パレットベースのエンコーディングがあります。異なる色が数色(256以下)しかない場合は、may各色を1バイト(8ビット)でエンコードします-それぞれのこの値ピクセルは、別の色のテーブル(「パレット」)のインデックスとして機能します。このパレットはstillで、画像は「ピクセルあたり8ビットに変換」されますが、色あたり8ビット(RGBでは24ビット)になります。 -このアプローチは、主にロゴまたは合成画像(ほんの一握りの異なる色を含む)で使用されます。写真には適していません。

1
jvb

8ビットに変換すると情報は失われます。残りの24ビットはゴミ箱に入れられます。それを元に戻すと、各値は再び32ビット値になりますが、下位24ビットはすべてゼロです。そこに置くものは何もありません。

2
Aganju

32ビットに変換して戻した後に失われた情報はありますか?

[〜#〜]はい[〜#〜]

最初に8ビットに変換したときの情報はlostであり、非表示/圧縮されていません...(32ビットにすでに含まれている情報を8ビットに保存できる場合を除く)。

32ビットに戻すと、失われた情報を取り戻すためのソースがありません。

1
Máté Juhász