Matlab影像處理常用基本函式

Mr-Lee發表於2014-09-26

之前用Matlab做影像處理工作時,用到什麼函式就查什麼函式,從沒做過系統的總結,再做的時候又要去查,所以總結還是有必要的~

為了方便,在此只列出函式名和基本用法,如不特別指出,不詳細說明引數,輔助helpdoc

影像讀入

需求 函式 說明
從某一路徑讀入圖片 f = imread(FILENAME) 預設為當前搜尋路徑包括當前路徑,不在搜尋路徑內的檔案需特別指出
開啟對話方塊選擇圖片檔案並讀入
[FileName,PathName,FilterIndex] = uigetfile({‘*.jpg;*.tif;*.png;*.gif’,'All Image Files’;'*.*’,'All Files’ },’DialogTitle’,’.\’);
f = imread([PathName, FileName]);
或者f = imread(fullfile(PathName,FileName));
參看左側即可理解,並參看doc。
注意,使用路徑和檔名的拼接;以及判斷是否選擇了檔案,如if isequal(FileName,0)

檢視影像資訊

需求 函式 說明
圖片尺寸 ans = size(f) ans為向量
圖片尺寸、大小、資料型別 whos f
顯示更多資訊 iminfo(‘bird.jpg’)

影像顯示

需求 函式 說明
最常用的影像顯示 顯示影像:imshow(f)
灰度級數為G:imshow(f,G)
指定灰度級範圍:imshow(f,[low,high])
自動調整:imshow(f,[])
imshow(f,[])將double型壓縮到[0,1],將uint8
直方圖 imhist(f,bins)
figure顯示 figuresubplot(m,n,p), imshow(f) m*n塊區域,第p個位置顯示
顏色地圖 colormap 詳情參看help
顏色條 colorbar 詳情參看help
其他的顯示(不常用) imscr
image
詳情參看help

影像儲存

將影像儲存為檔案 imwrite(f,’filename’)
imwrite(f,’filename’,'ext’)
imwrite(f,’filename’,'quality’,q)
q為影像質量,從0到100,q越小表示壓縮程度越大
將figure儲存成影像 saveas(figure_handle,filename,fileformat)
print(figure_handle,filename,fileformat)
fileformat為儲存格式

常用函式

歸一化等 g = mat2gray(f)
g = im2uint8(mat2gray(f))
mat2gray將f對映到[0,1],double型
reshape g = reshape(f,m,n) 不改變矩陣中元素的數目,以列優先的方式改變尺寸
生成座標 [C,R] = meshgrid(c,r) 生成矩陣座標陣列
複製並拼接矩陣 B = repmat(A, sz1,sz2,…szN)
Apply function to each cell in cell array [A1,...,Am] = cellfun(func, c1,…,cn, name, value) 簡直最愛啊!!參看doc
生成隨機數 隨機數生成控制 rng
均勻分佈r = rand(size)
均勻分佈(整數)r = randi(100,1,5)
正態分佈r = randn(size)
隨機數random
參看doc

相關文章