PPM文件格式詳解之美

PPM圖像格式是由Jef Poskanzer 在1991年所創造的。

PPM(Portable Pixmap Format)還有兩位兄長,大哥名叫「PBM」,二哥人稱「PGM」,他們三兄弟各有所長,下面爲你們一一介紹:

  • PBM 是位圖(bitmap),僅有黑與白,沒有灰
  • PGM 是灰度圖(grayscale)
  • PPM 是通過RGB三種顏色顯現的圖像(pixmaps)

每個圖像文件的開頭都通過2個字節「magic number」來表明文件格式的類型(PBM, PGM, PPM),以及編碼方式(ASCII 或 Binary),magic number分別爲P1、P2、P3、P4、P5、P。


編碼方式:
ASCII格式適合人類閱讀理解,可以用文本編輯器打開,讀取對應圖像的數據(比如PPM格式的RGB值)。 Binary格式適合機器閱讀,按照二進制形式,順序存儲圖像信息,不用空格分隔,所以圖像處理起來更有效率,佔用空間容量更少(由於缺少空格)。

下面着重講解PPM格式:
PPM圖像格式分爲兩部分,分別爲頭部分和圖像數據部分。
頭部分:由3部分組成,通過換行或空格進行分割,一般PPM的標準是空格。
第1部分:P3或P6,指明PPM的編碼格式,
第2部分:圖像的寬度和高度,通過ASCII表示,
第3部分:最大像素值,0-255字節表示。

圖像數據部分:
ASCII格式:按RGB的順序排列,RGB中間用空格隔開,圖片每一行用回車隔開。
Binary格式:PPM用24bits代表每一個像素,紅綠藍分別佔用8bits。

ppm是一種很簡單的協議,下面我們使用文本編輯器和windows畫圖對其進行解釋。


                                                                                                      對比分析PPM文件

下面我們通過另一張圖確認二進制ppm內容究竟是什麼樣子的。

通過UE查看二進制文件,同樣的我們發現,前三行爲ppm文件的“頭部分”信息,然後第四行開始爲二進制數據。

從“頭部分”可以看出來文件teapot.ppm爲P6格式(即二進制的ppm文件類型)的文件,256*256的圖像大小,RGB的每個色彩值範圍爲0-255,也就是數8個byte表示一個R或者G或者B的顏色,8*3個byte(即3Byte)表示一個RGB顏色,UE查看器中矩形內的3Byte就是該文件的一個像素點,該值爲135CC0。通過Photoshop可以查看該值顏色就是我們圖片中顯示的顏色。


總結:從上面分析我們瞭解PPM是一種簡單的圖片格式,我們可以通過PPM進行圖像相關的學習。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章