- ベストアンサー
ピクセル,dpiから容量(バイト数)を算出
縦ピクセル×横ピクセル、72dpiの画像があり、 その容量(バイト数)を算出したいのですが、 どのようにすればいいのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>縦ピクセル×横ピクセル、 が判っても、1ピクセル当たりの使用バイト数が判らないと、バイト数には換算できない。 >72dpiの画像があり、 解像度(dpi)は容量に影響しないので無視してよい。 >その容量(バイト数)を算出したいのですが、どのようにすればいいのでしょうか? 1ピクセル当たりのバイト数×縦のピクセル数×横のピクセル数 の式で「無圧縮時のデータのみの容量」が判る。 あとは、それに「圧縮比率」を掛けてやって、付加情報などのバイト数を足してやれば良い。 1ピクセル当たりのバイト数は、画像の色モードにより色々と変化するから「これ」と言う決まった値は無い。 圧縮比率も、画像の内容そのものや、画像ファイルの記録形式により色々と変化するから「これ」と言う決まった値は無い。 同一のピクセルサイズ、同一のカラーモード、同一の形式であっても「複雑に色が変化している画像」と「一色ベタで塗ってあるだけの画像」では、圧縮効率が天と地ほども違いますし。 質問の回答は「たったこれだけの情報では、容量は計算出来ない」になります。 てゆか、画像の中身によってもサイズが変わるから「事前に正確な容量を計算するのは不可能」ですよ。 実際にファイルに保存するのとまったく同じ手順でデータを圧縮して、まったく同じ手順でファイルを作るシミュレーションをして、と言う事をしないと、容量は判りません。 とは言っても「ある程度は予想できる」ので「だいたいの値は計算できます」ので、例えば「圧縮率は常に50%と想定して」って言う計算くらいは出来ます。 でも「1ピクセル当たりのバイト数」が判らないと、お話になりません。
その他の回答 (2)
- hashioogi
- ベストアンサー率25% (102/404)
目的がよくわかりませんが、 メモリに読み込んで画像処理を行うような場合のメモリ容量なら1画素当たりのバイト数をCとして「縦×横×C」で計算できるでしょうけど、ファイル容量にはならない場合があります。それはJPEG形式のように圧縮されている場合があるからです。 どのような場合の容量を計算したいのでしょうか?
- neKo_deux
- ベストアンサー率44% (5541/12319)
1ピクセル当たりのバイト数が分からないので不明です。 圧縮しない前提で、640×480ピクセルの場合、 モノクロ画像で8ピクセルで1バイトの場合は、640×480×1/8=38,400バイト。 1ピクセルあたりRGBがそれぞれ256諧調で3バイトの場合は、640×480×3=921,600バイト。 とか。 ピクセル数が分かってるなら、dpiの解像度は関係ないです。