Matlab圖像處理經常使用基本函數

以前用Matlab作圖像處理工做時,用到什麼函數就查什麼函數,從沒作過系統的總結,再作的時候又要去查,因此總結仍是有必要的~html

爲了方便,在此只列出函數名和基本用法,如不特別指出,不詳細說明參數,輔助 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
顯示更多信息 imi nfo('bird.jpg') 
 
圖像顯示
需求 函數 說明
最經常使用的圖像顯示 顯示圖像:imshow(f)
灰度級數爲G:imshow(f,G)
指定灰度級範圍:imshow(f,[low,high])
自動調整:imshow(f,[])
imshow(f,[])將double型壓縮到[0,1],將uint8
直方圖 imhist(f,bins)
figure顯示 figure, subplot(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
 

待解決

完成特定圖像處理任務的功能函數;……
相關文章
相關標籤/搜索