圖片壓縮-jpeg

有人說要做的

sauce

目的

  • 壓縮點陣圖
  • 一般bmp就是一格一格的存,但是檔案太大

  • Jpeg可以讓圖片壓縮,可能會損失一些數據,但是

      以人類的眼睛是看不出差別的

色彩空間

RGB

直接看RGB分別占比

YCbCr

Y:亮度

Cb:藍色亮度
Cr:紅色亮度

色彩空間轉換

色彩採樣

把CbCr分成2x2的格子然後求平均

然後Cb和Cr就剩1/4了

重組回去

DCT

(一種離散的傅立葉變換)

  • 我們先看Y的地方(明度),然後把它分成8x8的格子
  • 減掉128從原來0~255變成-128~127(cos可以處理)
  • 左邊這張圖是cos的頻域圖,然後右邊是原始的圖像的Y
  • 左邊的數字是這格佔整個東西的係數

轉整數

除一個數然後四捨五入

捨棄數據

數字越接近0越高頻
人類眼睛感受不到
->捨棄

量(子)化表格

有人量子力學中毒

由人類眼睛結構決定

色度量(子)化表格

明度量(子)化表格

編碼辣

階梯式儲存資料(以Y為例)

會出現很多0 ->壓縮

重複東西用a*b儲存

Huffman編碼

將每個數字對應到另一個數字(與出現頻率有關)

詳細請洽詢pooh和cot
我很笨我沒學過

效果(副作用?

出現鋸齒

沒了

幾乎都王高鐵做的

我超笨
我要睡了

Code

By iamfatman

Code

  • 29