之前用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 | 無 |
顯示更多信息 | 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顯示 | figure, subplot(m,n,p), imshow(f) | m*n塊區域,第p個位置顯示 |
顏色地圖 | colormap | 詳情參看help |
顏色條 | colorbar | 詳情參看help |
其他的顯示(不常用) | imscrimage | 詳情參看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 |
待解決
完成特定圖像處理任務的功能函數;