pgm格式檔案及其在matlab中的讀取儲存方法(2)
阿新 • • 發佈:2018-12-25
早上寫了好久的blog丟失了,原因是沒有及時儲存。對於線上這種東西還是不習慣,當作教訓好了。
言歸正傳,既然嫌棄fopen,fgetl這些麻煩,而且不好用,那便思考一下pgm究竟是什麼。以下是百度百科【1】的查詢結果:
一套API庫;遊戲系統;步槍型別;西藥;節目母線;概率圖模型;鉑族金屬合金;影象格式。
綜合看了一遍,還是作為影象格式的解釋比較靠譜。而在百度百科裡面,介紹是這樣的:儲存和交換影象資料的簡單檔案格式之一,是可轉移式點陣圖系列(PBM/PGM、PPM).影象頭和畫素資訊以ASCⅡ方式編碼。可用記事本軟體直接編輯。
既然是影象格式,我們都知道matlab有一個專門輸入影象的函式,imread。我想再次宣告,2015a的版本對於原有的很多函式都作出了程度不一的擴充套件,比如這個函式,imread。
仔細瞭解一下matlab裡面的函式介紹,其可處理的圖片格式有:
BMP – Windows Bitmap windows點陣圖
CUR – Cursor File 游標檔案
GIF – Graphics Interchange Format 圖形交換格式
HDF – Hierarchical Data Format 層次資料結構(看著這麼彆扭怎麼)
ICO – Icon File 圖示檔案
JPEG – Joint Photographic Experts Group 聯合影象專家組
JPEG 2000 - Joint Photographic Experts Group 2000 聯合影象專家組2000
PBM – Portable Bitmap 可移植點陣圖
PCX – Windows Paintbrush windows畫筆
PGM – Portable Graymap 可移植灰度圖
PNG – Portable Network Graphics 可移植網路圖型
PPM – Portable Pixmap 可移植像圖
RAS – Sun Raster 光柵圖
TIFF – Tagged Image File Format 標記影象檔案格式
XWD – X Window Dump Xwindows轉儲(不明白)
竟有如此多的圖片格式!
而本人並未專門學習過此類知識,故翻譯出的結果非常奇怪。幸而對於常見的影象格式,如jpeg,bmp等等這些,我們大概都比較熟悉這些;而對於不很常見的,比如pgm這些,只要在用到的時候大概知道matlab裡面有函式可以位元組對其進行處理也就可以了。
本文的資料來源為the Olivetti Face Database,另外,文後也將附上一張圖片以供看官實驗。
貼一下操作程式碼:
% 匯入pgm格式圖片
clc,clear,close all;
im1 = imread(‘1.pgm’);
imshow(im1) 有興趣的看官可以考慮看看下面一篇部落格【2】,是C++中如何處理pgm影象的方法,希望能有所幫助。
clc,clear,close all;
im1 = imread(‘1.pgm’);
imshow(im1) 有興趣的看官可以考慮看看下面一篇部落格【2】,是C++中如何處理pgm影象的方法,希望能有所幫助。