MATLAB函式imread簡介
調用格式
A = imread(filename,fmt)
[X,map] = imread(filename,fmt)
[...] = imread(filename)
[...] = imread(URL,...)
[...] = imread(...,idx) (CUR, GIF, ICO, and TIFF only)
[...] = imread(...,'PixelRegion',{ROWS, COLS}) (TIFF only)
[...] = imread(...,'frames',idx) (GIF only)
[...] = imread(...,ref) (HDF only)
[...] = imread(...,'BackgroundColor',BG) (PNG only)
[A,map,alpha] = imread(...) (ICO, CUR, and PNG only
相關概念
所謂圖片檔案的數據,簡單地說,就是一個二維數組,這個二維數組存儲著一張圖片各個像素點的顏色索引值或顏色值,當然真正的圖片檔案還需要一些附加信息。比如:對於24位真彩色點陣圖檔案,它的數據前14個位元組是點陣圖檔案頭(記錄圖片類型、大小、圖像數據區的偏移量等),接下來的40個位元組是點陣圖信息頭(記錄圖像的長度、寬度尺寸,圖像是否壓縮、圖像中使用到的顏色數),然後就是記錄圖片上每個像素點的RGB值。對於灰度圖像,點陣圖信息頭後是顏色表。(關於點陣圖檔案的結構,詳情參閱:bmp)
圖片數據的格式因圖片的格式不同。
相關函式:imread、imwrite、imfinfo、fread、imshow。
程式示例
示例一
下面這段代碼讀取一張圖片並顯示出來
filename = 'e.bmp';
imgRgb = imread(filename); % 讀入一幅彩色圖像
imshow(imgRgb); % 顯示彩色圖像
示例二
下面這段代碼把24位真彩色點陣圖轉為灰度圖像
filename = 'e.bmp';
imfinfo(filename) % 查看圖像檔案信息
imgRgb = imread(filename); % 讀入一幅彩色圖像
imshow(imgRgb); % 顯示彩色圖像
imgGray = rgb2gray(imgRgb); % 轉為灰度圖像
figure % 打開一個新的視窗顯示灰度圖像
imshow(imgGray); % 顯示轉化後的灰度圖像
imwrite(imgGray, 'gray.jpg'); % 將灰度圖像保存到圖像檔案