matlab圖像處理

matlab圖像處理

 

轉自:http://www.cnblogs.com/lovebay/p/5094146.htmlhtml

 

1. 圖像和圖像數據編程

    缺省狀況下,MATLAB將圖像中的數據存儲爲雙精度類型(double),64位浮點數,所需存儲量很大;MATLAB還支持另外一種類型無符號整型(uint8),即圖像矩陣中每一個數據佔用1個字節。數組

    在使用MATLAB工具箱時,必定要注意函數所要求的參數類型。另外,uint8與double兩種類型數據的值域不一樣,編程需注意值域轉換。app

從uint8到double的轉換函數

---------------------------------------------工具

圖像類型 MATLAB語句post

---------------------------------------------ui

索引色 B=double(A)+1url

索引色或真彩色 B=double(A)/255spa

二值圖像 B=double(A)

---------------------------------------------

從double到uint8的轉換

---------------------------------------------

圖像類型 MATLAB語句

---------------------------------------------

索引色 B=uint8(round(A-1))

索引色或真彩色 B=uint8(round(A*255))

二值圖像 B=logical(uint8(round(A)))

---------------------------------------------

2. 圖像處理工具箱所支持的圖像類型

2.1 真彩色圖像

    R、G、B三個份量表示一個像素的顏色。若是要讀取圖像中(100,50)處的像素值,可查看三元數據(100,50,1:3)。

    真彩色圖像可用雙精度存儲,亮度值範圍是[0,1];比較符合習慣的存儲方法是用無符號整型存儲,亮度值範圍[0,255]

2.2 索引色圖像

    包含兩個結構,一個是調色板,另外一個是圖像數據矩陣。調色板是一個有3列和若干行的色彩映象矩陣,矩陣每行表明一種顏色,3列分別表明紅、綠、藍色強度的雙精度數。

注意:MATLAB中調色板色彩強度[0,1],0表明最暗,1表明最亮。

經常使用顏色的RGB值

--------------------------------------------

顏色 R G B 顏色 R G B

--------------------------------------------

黑 0 0 1 洋紅 1 0 1

白 1 1 1 青藍 0 1 1

紅 1 0 0 天藍 0.67 0 1

綠 0 1 0 橘黃 1 0.5 0

藍 0 0 1 深紅 0.5 0 0

黃 1 1 0 灰 0.5 0.5 0.5

--------------------------------------------

 

產生標準調色板的函數

-------------------------------------------------

函數名 調色板

-------------------------------------------------

Hsv 色彩飽和度,以紅色開始,並以紅色結束

Hot 黑色-紅色-黃色-白色

Cool 青藍和洋紅的色度

Pink 粉紅的色度

Gray 線型灰度

Bone 帶藍色的灰度

Jet Hsv的一種變形,以藍色開始,以藍色結束

Copper 線型銅色度

Prim 三棱鏡,交替爲紅、橘黃、黃、綠和天藍

Flag 交替爲紅、白、藍和黑

--------------------------------------------------

    缺省狀況下,調用上述函數灰產生一個64×3的調色板,用戶也可指定調色板大小。索引色圖像數據也有double和uint8兩種類型。當圖像數據爲 double類型時,值1表明調色板中的第1行,值2表明第2行……若是圖像數據爲uint8類型,0表明調色板的第一行,,值1表明第2行……

2.3 灰度圖像

    存儲灰度圖像只須要一個數據矩陣。

    數據類型能夠是double,[0,1];也能夠是uint8,[0,255]

2.4 二值圖像

    二值圖像只需一個數據矩陣,每一個像素只有兩個灰度值,能夠採用uint8或double類型存儲。

    MATLAB工具箱中以二值圖像做爲返回結果的函數都使用uint8類型。

2.5 圖像序列

    MATLAB工具箱支持將多幀圖像鏈接成圖像序列。圖像序列是一個4維數組,圖像幀的序號在圖像的長、寬、顏色深度以後構成第4維。

    分散的圖像也能夠合併成圖像序列,前提是各圖像尺寸必須相同,如果索引色圖像,調色板也必須相同。

    可參考cat()函數 A=cat(4,A1,A2,A3,A4,A5)

 

3. MATLAB圖像類型轉換

圖像類型轉換函數

---------------------------------------------------------------------------

函數名 函數功能

---------------------------------------------------------------------------

dither 圖像抖動,將灰度圖變成二值圖,或將真彩色圖像抖動成索引色圖像

gray2ind 將灰度圖像轉換成索引圖像

grayslice 經過設定閾值將灰度圖像轉換成索引色圖像

im2bw 經過設定亮度閾值將真彩色、索引色、灰度圖轉換成二值圖

ind2gray 將索引色圖像轉換成灰度圖像

ind2rgb 將索引色圖像轉換成真彩色圖像

mat2gray 將一個數據矩陣轉換成一副灰度圖

rgb2gray 將一副真彩色圖像轉換成灰度圖像

rgb2ind 將真彩色圖像轉換成索引色圖像

----------------------------------------------------------------------------

4. 圖像文件的讀寫和查詢

4.1 圖形圖像文件的讀取

    利用函數imread()可完成圖形圖像文件的讀取,語法:

A=imread(filename,fmt)

[X,map]=imread(filename,fmt)

[...]=imread(filename)

[...]=imread(filename,idx) (只對TIF格式的文件)

[...]=imread(filename,ref) (只對HDF格式的文件)

    一般,讀取的大多數圖像均爲8bit,當這些圖像加載到內存中時,Matlab就將其存放在類uint8中。此爲Matlab還支持16bit的PNG和TIF圖像,當讀取這類文件時,Matlab就將其存貯在uint16中。

    注意:對於索引圖像,即便圖像陣列的自己爲類uint8或類uint16,imread函數仍將顏色映象表讀取並存貯到一個雙精度的浮點類型的陣列中。

4.2 圖形圖像文件的寫入

    使用imwrite函數,語法以下:

imwrite(A,filename,fmt)

imwrite(X,map,filename,fmt)

imwrite(...,filename)

imwrite(...,parameter,value)

當利用imwrite函數保存圖像時,Matlab缺省的方式是將其簡化道uint8的數據格式。

4.3 圖形圖像文件信息的查詢imfinfo()函數

5. 圖像文件的顯示

5.1 索引圖像及其顯示

方法一:

image(X)

colormap(map)

方法二:

imshow(X,map)

5.2 灰度圖像及其顯示

    Matlab 7.0 中,要顯示一副灰度圖像,能夠調用函數 imshow 或 imagesc (即imagescale,圖像縮放函數)

(1) imshow 函數顯示灰度圖像

    使用imshow(I)或使用明確指定的灰度級書目:

imshow(I,32)

    因爲Matlab自動對灰度圖像進行標度以適合調色板的範圍,於是可使用自定義大小的調色板。其調用格式以下:

imshow(I,[low,high]) 其中,low 和 high 分別爲數據數組的最小值和最大值。

(2) imagesc 函數顯示灰度圖像

    下面的代碼是具備兩個輸入參數的 imagesc 函數顯示一副灰度圖像

imagesc(1,[0,1]);

colormap(gray);

    imagesc 函數中的第二個參數肯定灰度範圍。灰度範圍中的第一個值(一般是0),對應於顏色映象表中的第一個值(顏色),第二個值(一般是1)則對應與顏色映象表中的最後一個值(顏色)。灰度範圍中間的值則線型對應與顏色映象表中剩餘的值(顏色)。

    在調用 imagesc 函數時,若只使用一個參數,能夠用任意灰度範圍顯示圖像。在該調用方式下,數據矩陣中的最小值對應於顏色映象表中的第一個顏色值,數據矩陣中的最大值對應於顏色映象表中的最後一個顏色值。

5.3 RGB 圖像及其顯示

(1) image(RGB)

    無論RGB圖像的類型是double浮點型,仍是 uint8 或 uint16 無符號整數型,Matlab都能經過 image 函數將其正確顯示出來。

RGB8 = uint8(round(RGB64×255)); % 將 double 浮點型轉換爲 uint8 無符號整型

RGB64 = double(RGB8)/255; % 將 uint8 無符號整型轉換爲 double 浮點型

RGB16 = uint16(round(RGB64×65535)); % 將 double 浮點型轉換爲 uint16 無符號整型

RGB64 = double(RGB16)/65535; % 將 uint16 無符號整型轉換爲 double 浮點型

(2) imshow(RGB) 參數是一個 m×n×3 的數組

5.4 二進制圖像及其顯示

(1) imshow(BW)

     在 Matlab 7.0 中,二進制圖像是一個邏輯類,僅包括 0 和 1 兩個數值。像素 0 顯示爲黑色,像素 1 顯示爲白色。

    顯示時,也可經過NOT(~)命令,對二進制圖象進行取反,使數值 0 顯示爲白色;1 顯示爲黑色。

例如: imshow(~BW)

(2) 此外,還可使用一個調色板顯示一副二進制圖像。若是圖形是 uint8 數據類型,則數值 0 顯示爲調色板的第一個顏色,數值 1 顯示爲第二個顏色。

例如: imshow(BW,[1 0 0;0 0 1])

5.5 直接從磁盤顯示圖像

    可以使用一下命令直接進行圖像文件的顯示:

imshow filename

其中,filename 爲要顯示的圖像文件的文件名。

    若是圖像是多幀的,那麼 imshow 將僅顯示第一幀。但需注意,在使用這種方式時,圖像數據沒有保存在Matlab 7.0 工做平臺。若是但願將將圖像裝入工做臺中,需使用 getimage 函數,從當前的句柄圖形圖像對象中獲取圖像數據,命令形式爲:

rgb = getimage;

 

 

 

一、圖像的變換

① fft2:fft2函數用於數字圖像的二維傅立葉變換,如:

i=imread('104_8.tif');

j=fft2(i);

②ifft2::ifft2函數用於數字圖像的二維傅立葉反變換,如:

i=imread('104_8.tif');

j=fft2(i);

k=ifft2(j);

二、模擬噪聲生成函數和預約義濾波器

① imnoise:用於對圖像生成模擬噪聲,如:

i=imread('104_8.tif');

j=imnoise(i,'gaussian',0,0.02);%模擬高斯噪聲

② fspecial:用於產生預約義濾波器,如:

h=fspecial('sobel');%sobel水平邊緣加強濾波器h=fspecial('gaussian');%高斯低通濾波器

h=fspecial('laplacian');%拉普拉斯濾波器h=fspecial('log');%高斯拉普拉斯(LoG)濾波器

h=fspecial('average');%均值濾波器

三、圖像的加強

直方圖:imhist函數用於數字圖像的直方圖顯示,如:

i=imread('104_8.tif');

imhist(i);

直方圖均化:histeq函數用於數字圖像的直方圖均化,如:

i=imread('104_8.tif');

j=histeq(i);

對比度調整:imadjust函數用於數字圖像的對比度調整,如:

i=imread('104_8.tif');

j=imadjust(i,[0.3,0.7],[]);

對數變換:log函數用於數字圖像的對數變換,如:

i=imread('104_8.tif');

j=double(i);

k=log(j);

基於卷積的圖像濾波函數:filter2函數用於圖像濾波,如:

i=imread('104_8.tif');

h=[1,2,1;0,0,0;-1,-2,-1];

j=filter2(h,i);

線性濾波:利用二維卷積conv2濾波, 如:

i=imread('104_8.tif');

h=[1,1,1;1,1,1;1,1,1];

h=h/9;

j=conv2(i,h);

中值濾波:medfilt2函數用於圖像的中值濾波,如:

i=imread('104_8.tif');

j=medfilt2(i);

銳化

(1)利用Sobel算子銳化圖像, 如:

i=imread('104_8.tif');

h=[1,2,1;0,0,0;-1,-2,-1];%Sobel算子

j=filter2(h,i);

(2)利用拉氏算子銳化圖像, 如:

i=imread('104_8.tif');

j=double(i);

h=[0,1,0;1,-4,0;0,1,0];%拉氏算子

k=conv2(j,h,'same');

m=j-k;

三、圖像邊緣檢測

①sobel算子 如:i=imread('104_8.tif');j = edge(i,'sobel',thresh)

②prewitt算子 如:i=imread('104_8.tif');j = edge(i,'prewitt',thresh)

③roberts算子 如:i=imread('104_8.tif');j = edge(i,'roberts',thresh)

④log算子 如:i=imread('104_8.tif');j = edge(i,'log',thresh)

⑤canny算子 如:i=imread('104_8.tif');j = edge(i,'canny',thresh)

⑥Zero-Cross算子 如:i=imread('104_8.tif');j = edge(i,'zerocross',thresh)

四、形態學圖像處理

①膨脹:是在二值化圖像中「加長」或「變粗」的操做,函數imdilate執行膨脹運算,如:

a=imread('104_7.tif'); %輸入二值圖像

b=[0 1 0;1 1 1;0 1 0];

c=imdilate(a,b);

②腐蝕:函數imerode執行腐蝕,如:

a=imread('104_7.tif'); %輸入二值圖像

b=strel('disk',1);

c=imerode(a,b);

③開運算:先腐蝕後膨脹稱爲開運算,用imopen來實現,如:

a=imread('104_8.tif');

b=strel('square',2);

c=imopen(a,b);

④閉運算:先膨脹後腐蝕稱爲閉運算,用imclose來實現,如:

a=imread('104_8.tif');

b=strel('square',2);

c=imclose(a,b);

 

 

下列表格中除了個別函數外,其他函數都是圖像處理工具箱提供的關於圖像處理的函數,現摘錄到此以備查找。

表1 圖像顯示
函數名 功能說明 函數名 功能說明
colorbar 顏色條顯示 montage 按矩形剪輯方式顯示多幀圖像
getimage 從座標系中獲取圖像數據 immovie 從多幀索引圖像中製做電影
image 創建顯示圖像 movie 播放電影
subimage 在同一圖像窗口顯示多個圖像 trueszie 調整圖像顯示大小
imagesc 調整數據並顯示圖像 warp 顯示圖像爲紋理映射表面
imshow 圖像顯示 zoom 二維圖形放大或縮小
表2 圖像文件輸入/輸出
函數名 功能說明 函數名 功能說明
imread 圖像文件讀入 load 將以mat爲擴展名的圖像文件調入到內存
imwrite 圖像寫出 save 將內存變量中圖像保存到mat文件中
dicomread 讀取DICOM圖像 dicomwrite 輸出DICOM圖像
iminfo 查看圖形信息    
表3 圖像像素值及其統計
函數名 功能說明 函數名 功能說明
impixel 返回選定圖像像素顏色值 imcontour 畫圖像數據輪廓(等高線,等值線)
improfile 圖像中沿一個路徑的數據值計算 imhist 求圖像數據直方圖
mean2 求均值 corr2 求相關係數
std2 求標準差    
表4 圖像分析
函數名 功能說明 函數名 功能說明
edge 灰度圖像邊緣檢測 qtgetblk 得到四叉樹分解塊值
qtecomp 執行四叉樹分解 qtsetblk 設置四叉樹分解塊值
表5 圖像加強及平滑
函數名 功能說明 函數名 功能說明
imadjust 對比度調整 medfilt2 二維中值濾波器
histeq 直方圖均衡 ordfilt2 順序統計濾波器
imnoise 給圖像增長噪聲 wiener2 二維自適應除噪濾波器
表6 圖像線性濾波及二維線性濾波器設計
函數名 功能說明 函數名 功能說明
conv2 二維卷積 freqz2 計算二維頻率響應
convmtx2 計算二維卷積矩陣 fsamp2 用頻率抽樣設計二維FIR濾波器
convn 多維卷積 ftrans 用頻率抽樣轉換二維FIRlbq
filter2 二維線性數字濾波器 fwind1 用一維窗口方法設計二維FIR濾波器
fspecial 產生預約義濾波器 fwind2 用二維窗口方法設計二維FIR濾波器
frespace 肯定二維頻率響應間隔    
表7 圖像變換
函數名 功能說明 函數名 功能說明
fft 計算一維快速Fourier變換 dct 計算離散餘弦變換
ifft 計算一維FFT的逆變換 idct 計算離散反餘弦變換
fft2 計算二維FFT dct2 計算2D離散餘弦變換
ifft2 計算二維逆FFT idct2 計算2D反離散餘弦變換
fftn 計算多維FFT dctmtx 計算TCT矩陣
ifftn 計算多維逆FFT radon 計算Radon變換
fftshift 直流份量移到頻譜中心    
表8 圖像領域及操做
函數名 功能說明 函數名 功能說明
bestblk 選擇塊處理的塊大小 colfilt 使用列方向函數進行領域運算
blkproc 對圖像實行不一樣的塊處理 im2col 重排圖像塊爲矩陣列
col2im 重排矩陣列成圖像塊 nlfilter 進行通常領域計算
表9 二值圖像操做
函數名 功能說明 函數名 功能說明
applylut 使用查找表進行領域操做 bwperim 肯定二值圖像中的目標邊界
bwarea 計算二值圖像中的目標區域 bwselect 選擇二值圖像中的目標
bweuler 計算二值圖像中的歐拉數 dilate 對二值圖像進行膨脹計算
bwfill 二值圖像背景區域填充 erode 對二值圖像進行寢蝕運算
bwlabel 標識二值圖像中的鏈接成分 makelut 構造查找表(applylut)使用
bwmorph 二值圖像形態運算    
表10 基於區域的圖像處理
函數名 功能說明 函數名 功能說明
roicolor 根據顏色選擇要處理的區域 roifilt2 對要處理區域濾波
roifill 在任意區域內平滑差值 roipoly 選擇要處理的多邊形區域
表11 圖像幾何運算
函數名 功能說明 函數名 功能說明
imcrop 圖像剪裁 imrotate 圖像旋轉
imresize 圖像大小調整 interp2 二維數據差值
表12 圖像顏色圖操做
函數名 功能說明 函數名 功能說明
brighten 顏色圖像變亮或變暗 colormap 設置獲取圖
cmpermute 從新排列顏色圖中的顏色 imapprox 由顏色較少的圖像近似索引圖像
cmunique 尋找惟一的顏色圖及相應的圖像 rgbplot 繪製RGB顏色圖
表13 顏色控件轉換
函數名 功能說明 函數名 功能說明
hsv2rgb 將HSV顏色轉化爲RGB顏色值 mtsc2rgb 將NTSC值轉換爲RGB顏色空間值
rgb2hsv 將RGB顏色值轉換爲HSV顏色值 rgb2ntsc 將RGB值轉換爲NTSC顏色空間值

 

表1 圖像顯示
函數名 功能說明 函數名 功能說明
colorbar 顏色條顯示 montage 按矩形剪輯方式顯示多幀圖像
getimage 從座標系中獲取圖像數據 immovie 從多幀索引圖像中製做電影
image 創建顯示圖像 movie 播放電影
subimage 在同一圖像窗口顯示多個圖像 trueszie 調整圖像顯示大小
imagesc 調整數據並顯示圖像 warp 顯示圖像爲紋理映射表面
imshow 圖像顯示 zoom 二維圖形放大或縮小
表2 圖像文件輸入/輸出
函數名 功能說明 函數名 功能說明
imread 圖像文件讀入 load 將以mat爲擴展名的圖像文件調入到內存
imwrite 圖像寫出 save 將內存變量中圖像保存到mat文件中
dicomread 讀取DICOM圖像 dicomwrite 輸出DICOM圖像
iminfo 查看圖形信息    
表3 圖像像素值及其統計
函數名 功能說明 函數名 功能說明
impixel 返回選定圖像像素顏色值 imcontour 畫圖像數據輪廓(等高線,等值線)
improfile 圖像中沿一個路徑的數據值計算 imhist 求圖像數據直方圖
mean2 求均值 corr2 求相關係數
std2 求標準差    
表4 圖像分析
函數名 功能說明 函數名 功能說明
edge 灰度圖像邊緣檢測 qtgetblk 得到四叉樹分解塊值
qtecomp 執行四叉樹分解 qtsetblk 設置四叉樹分解塊值
表5 圖像加強及平滑
函數名 功能說明 函數名 功能說明
imadjust 對比度調整 medfilt2 二維中值濾波器
histeq 直方圖均衡 ordfilt2 順序統計濾波器
imnoise 給圖像增長噪聲 wiener2 二維自適應除噪濾波器
表6 圖像線性濾波及二維線性濾波器設計
函數名 功能說明 函數名 功能說明
conv2 二維卷積 freqz2 計算二維頻率響應
convmtx2 計算二維卷積矩陣 fsamp2 用頻率抽樣設計二維FIR濾波器
convn 多維卷積 ftrans 用頻率抽樣轉換二維FIRlbq
filter2 二維線性數字濾波器 fwind1 用一維窗口方法設計二維FIR濾波器
fspecial 產生預約義濾波器 fwind2 用二維窗口方法設計二維FIR濾波器
frespace 肯定二維頻率響應間隔    
表7 圖像變換
函數名 功能說明 函數名 功能說明
fft 計算一維快速Fourier變換 dct 計算離散餘弦變換
ifft 計算一維FFT的逆變換 idct 計算離散反餘弦變換
fft2 計算二維FFT dct2 計算2D離散餘弦變換
ifft2 計算二維逆FFT idct2 計算2D反離散餘弦變換
fftn 計算多維FFT dctmtx 計算TCT矩陣
ifftn 計算多維逆FFT radon 計算Radon變換
fftshift 直流份量移到頻譜中心    
表8 圖像領域及操做
函數名 功能說明 函數名 功能說明
bestblk 選擇塊處理的塊大小 colfilt 使用列方向函數進行領域運算
blkproc 對圖像實行不一樣的塊處理 im2col 重排圖像塊爲矩陣列
col2im 重排矩陣列成圖像塊 nlfilter 進行通常領域計算
表9 二值圖像操做
函數名 功能說明 函數名 功能說明
applylut 使用查找表進行領域操做 bwperim 肯定二值圖像中的目標邊界
bwarea 計算二值圖像中的目標區域 bwselect 選擇二值圖像中的目標
bweuler 計算二值圖像中的歐拉數 dilate 對二值圖像進行膨脹計算
bwfill 二值圖像背景區域填充 erode 對二值圖像進行寢蝕運算
bwlabel 標識二值圖像中的鏈接成分 makelut 構造查找表(applylut)使用
bwmorph 二值圖像形態運算    
表10 基於區域的圖像處理
函數名 功能說明 函數名 功能說明
roicolor 根據顏色選擇要處理的區域 roifilt2 對要處理區域濾波
roifill 在任意區域內平滑差值 roipoly 選擇要處理的多邊形區域
表11 圖像幾何運算
函數名 功能說明 函數名 功能說明
imcrop 圖像剪裁 imrotate 圖像旋轉
imresize 圖像大小調整 interp2 二維數據差值
表12 圖像顏色圖操做
函數名 功能說明 函數名 功能說明
brighten 顏色圖像變亮或變暗 colormap 設置獲取圖
cmpermute 從新排列顏色圖中的顏色 imapprox 由顏色較少的圖像近似索引圖像
cmunique 尋找惟一的顏色圖及相應的圖像 rgbplot 繪製RGB顏色圖
表13 顏色控件轉換
函數名 功能說明 函數名 功能說明
hsv2rgb 將HSV顏色轉化爲RGB顏色值 mtsc2rgb 將NTSC值轉換爲RGB顏色空間值
rgb2hsv 將RGB顏色值轉換爲HSV顏色值 rgb2ntsc 將RGB值轉換爲NTSC顏色空間值

 

 

表1 圖像顯示
函數名 功能說明 函數名 功能說明
colorbar 顏色條顯示 montage 按矩形剪輯方式顯示多幀圖像
getimage 從座標系中獲取圖像數據 immovie 從多幀索引圖像中製做電影
image 創建顯示圖像 movie 播放電影
subimage 在同一圖像窗口顯示多個圖像 trueszie 調整圖像顯示大小
imagesc 調整數據並顯示圖像 warp 顯示圖像爲紋理映射表面
imshow 圖像顯示 zoom 二維圖形放大或縮小
表2 圖像文件輸入/輸出
函數名 功能說明 函數名 功能說明
imread 圖像文件讀入 load 將以mat爲擴展名的圖像文件調入到內存
imwrite 圖像寫出 save 將內存變量中圖像保存到mat文件中
dicomread 讀取DICOM圖像 dicomwrite 輸出DICOM圖像
iminfo 查看圖形信息    
表3 圖像像素值及其統計
函數名 功能說明 函數名 功能說明
impixel 返回選定圖像像素顏色值 imcontour 畫圖像數據輪廓(等高線,等值線)
improfile 圖像中沿一個路徑的數據值計算 imhist 求圖像數據直方圖
mean2 求均值 corr2 求相關係數
std2 求標準差    
表4 圖像分析
函數名 功能說明 函數名 功能說明
edge 灰度圖像邊緣檢測 qtgetblk 得到四叉樹分解塊值
qtecomp 執行四叉樹分解 qtsetblk 設置四叉樹分解塊值
表5 圖像加強及平滑
函數名 功能說明 函數名 功能說明
imadjust 對比度調整 medfilt2 二維中值濾波器
histeq 直方圖均衡 ordfilt2 順序統計濾波器
imnoise 給圖像增長噪聲 wiener2 二維自適應除噪濾波器
表6 圖像線性濾波及二維線性濾波器設計
函數名 功能說明 函數名 功能說明
conv2 二維卷積 freqz2 計算二維頻率響應
convmtx2 計算二維卷積矩陣 fsamp2 用頻率抽樣設計二維FIR濾波器
convn 多維卷積 ftrans 用頻率抽樣轉換二維FIRlbq
filter2 二維線性數字濾波器 fwind1 用一維窗口方法設計二維FIR濾波器
fspecial 產生預約義濾波器 fwind2 用二維窗口方法設計二維FIR濾波器
frespace 肯定二維頻率響應間隔    
表7 圖像變換
函數名 功能說明 函數名 功能說明
fft 計算一維快速Fourier變換 dct 計算離散餘弦變換
ifft 計算一維FFT的逆變換 idct 計算離散反餘弦變換
fft2 計算二維FFT dct2 計算2D離散餘弦變換
ifft2 計算二維逆FFT idct2 計算2D反離散餘弦變換
fftn 計算多維FFT dctmtx 計算TCT矩陣
ifftn 計算多維逆FFT radon 計算Radon變換
fftshift 直流份量移到頻譜中心    
表8 圖像領域及操做
函數名 功能說明 函數名 功能說明
bestblk 選擇塊處理的塊大小 colfilt 使用列方向函數進行領域運算
blkproc 對圖像實行不一樣的塊處理 im2col 重排圖像塊爲矩陣列
col2im 重排矩陣列成圖像塊 nlfilter 進行通常領域計算
表9 二值圖像操做
函數名 功能說明 函數名 功能說明
applylut 使用查找表進行領域操做 bwperim 肯定二值圖像中的目標邊界
bwarea 計算二值圖像中的目標區域 bwselect 選擇二值圖像中的目標
bweuler 計算二值圖像中的歐拉數 dilate 對二值圖像進行膨脹計算
bwfill 二值圖像背景區域填充 erode 對二值圖像進行寢蝕運算
bwlabel 標識二值圖像中的鏈接成分 makelut 構造查找表(applylut)使用
bwmorph 二值圖像形態運算    
表10 基於區域的圖像處理
函數名 功能說明 函數名 功能說明
roicolor 根據顏色選擇要處理的區域 roifilt2 對要處理區域濾波
roifill 在任意區域內平滑差值 roipoly 選擇要處理的多邊形區域
表11 圖像幾何運算
函數名 功能說明 函數名 功能說明
imcrop 圖像剪裁 imrotate 圖像旋轉
imresize 圖像大小調整 interp2 二維數據差值
表12 圖像顏色圖操做
函數名 功能說明 函數名 功能說明
brighten 顏色圖像變亮或變暗 colormap 設置獲取圖
cmpermute 從新排列顏色圖中的顏色 imapprox 由顏色較少的圖像近似索引圖像
cmunique 尋找惟一的顏色圖及相應的圖像 rgbplot 繪製RGB顏色圖
表13 顏色控件轉換
函數名 功能說明 函數名 功能說明
hsv2rgb 將HSV顏色轉化爲RGB顏色值 mtsc2rgb 將NTSC值轉換爲RGB顏色空間值
rgb2hsv 將RGB顏色值轉換爲HSV顏色值 rgb2ntsc 將RGB值轉換爲NTSC顏色空間值
相關文章
相關標籤/搜索