私は約11MBの重さのRGB JPEG画像とその解像度7680 x 4320を持っています。私はuchar4の配列を使ってRAMに格納します。 sizeof(uchar4)は4バイトで論理的です。私が使用する配列のサイズは、4 x 7680 x 4320 = 132710400 bytes = [約126 MB]と計算するのは難しくありません。だから、イメージはハードドライブに保存されているときには11 MB、RAMにロードされた後には126 MBの重さとなります。読み込み後に画像サイズが大きくなる
0
A
答えて
4
実際にあなたの質問は、メモリ上のサイズが実際にあなたが予想していたものなので、ディスクに保存すると画像サイズが小さくなるのはなぜですか?
残念ながら、画像を保存するファイル形式は教えてくれませんでしたが、基本的にすべての一般的な画像形式ではそのままの状態でピクセル値が保存されません。最初に圧縮アルゴリズムを適用します。 PNGやGIFなどの一部の形式では可逆圧縮が使用されますが、JPEGなどの可逆圧縮は画像が保存されるたびに画像品質が少し悪化することを意味します。しかし、これらのフォーマットはより良い圧縮を可能にします。
すべての圧縮アルゴリズムは、画像ピクセルが(統計的に)互いに独立していないという事実に依存します。近くのピクセルは通常相関します。この相関は、データの量を減らすために使用されます。異なる画像は典型的には相関が異なるため、画像ファイルのサイズは、画素数が同じであっても変化する可能性がある。
+0
これはJPEG形式です。 – Max
関連する問題
- 1. 大きな画像を読み込む
- 2. Cordova - 大きな画像を読み込み中に画像が乱れる
- 3. 大きな画像をすばやく読み込む
- 4. 大きな画像読み込みの問題
- 5. osgで大きな画像を読み込み
- 6. 大きな画像をあらかじめ読み込み
- 7. 画像読み込み後にアプリケーションがクラッシュする
- 8. "10sec"後に画像を読み込む
- 9. OutOfMemory大きな背景画像を読み込むとき
- 10. 最初の読み込み後にMongoDBの読み込みが遅くなる
- 11. メディアクエリで異なる画面サイズの画像を読み込む
- 12. 読み込み画像
- 13. iphone - 画像読み込み
- 14. QTウィンドウに巨大な画像を読み込み、細かく拡大縮小できる
- 15. 大きな画像ピカソで読み込む
- 16. Javaで大きな画像を読み込む方法
- 17. 大きな画像とタイルをiPadのJavascriptに読み込みます
- 18. 画像の読み込みが遅いときにスクロールする
- 19. 大きなファイルの書き込みと読み込み用に開く
- 20. 大きな画像ファイルから少数の画像を読み込むJavaScript
- 21. 画像読み込み中にアイコンを読み込む
- 22. Glideが画像を読み込んだときに画像がちらつく
- 23. 画像が読み込まれない
- 24. Java画像の読み込み/読み込み
- 25. Keras:大きなデータセットの画像をバッチ単位で読み込み
- 26. 通知の読み込みFCMを使用した大きな画像
- 27. cocos2dの大きな画像の可視領域のみを読み込む
- 28. Androidの書き込み/読み込み中の画像へ
- 29. 読み込みと書き込みgif画像
- 30. 画像をメモリに読み込まないで大きなTIFF画像.NETを切り抜く
https://en.wikipedia.org/wiki/Image_compression –
@ Revolver_Ocelot、オペレーティングシステムに画像圧縮メカニズムが組み込まれていることはわかりませんでした。アーカイブすると画像が圧縮されると思った。 – Max
ファイルを圧縮するのはOSではなく、作成したデバイスやアプリケーションです。 JPEG形式の*全体*は圧縮されています。 –