之前用Matlab做圖像處理工作時,用到什么函數就查什么函數,從沒做過系統的總結,再做的時候又要去查,所以總結還是有必要的~
為了方便,在此只列出函數名和基本用法,如不特別指出,不詳細說明參數,輔助
help和
doc
爭取持續更新~
********************************正文分割線*************************************
圖像讀入
需求 | 函數 | 說明 |
從某一路徑讀入圖片 | 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 |
待解決
完成特定圖像處理任務的功能函數;……