8bitカラー画像を​4bitに変換するこ​とはできますか?

25 vues (au cours des 30 derniers jours)
R
R le 23 Nov 2022
Commenté : R le 25 Nov 2022
.jpegの画像を4bitに変換したいのですがどうすればいいですか?
ご教授いただきたく存じます。
  4 commentaires
Atsushi Ueno
Atsushi Ueno le 24 Nov 2022
> リンク先の方法でデータ量削減はできているのでしょうか?
NO: 量子化により減色されましたが、データ量はむしろ増えています。
(imquantize関数においてvalues — 量子化値が設定されていない為メモリ上の型がuint8型からdouble型に変わっています。回答者様もその点を言及されている通り、意図的にそうしたのだと思います)
YES: データ型(bit数)も落とせばデータ量が削減されます。MATLABに4bit整数型はありません。Fixed-Point Designerを用いて4bitに固定小数点化する事を提案されています。しかし色深度を4bitにしてもJPEGファイルフォーマットに収める方法がありません。リンク先の質問範囲ではなかったのでそこまで説明されていません。
色深度とJPEG圧縮は別の話でimwrite関数でJPEGファイルを作成するなら引数のMode — 圧縮のタイプおよびQuality — 出力ファイルの品質で設定します。圧縮により色深度が減る訳ではなく、圧縮の結果として量子化と同様に減色されます。これは極端な例で、通常のJPEG圧縮率であれば元画像と見た目は変わりません。
I = imread('peppers.png'); % uint8型。色深度は8bitのままにする
imwrite(I,'comp_peppers.jpg',"jpg","BitDepth",8,"Mode","lossy","Quality",0); % JPEG圧縮の限界に挑戦
I2 = imread('comp_peppers.jpg'); % JPEG圧縮されたJPEGファイルを開く
montage({I,I2});
R
R le 25 Nov 2022
回答ありがとうございます。
いろいろな点について言及されており、分かりやすかったです。

Connectez-vous pour commenter.

Réponses (1)

Hernia Baby
Hernia Baby le 23 Nov 2022
  1 commentaire
R
R le 23 Nov 2022
回答ありがとうございます。
4bitカラー画像は作れないということでしょうか?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange

Produits


Version

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!