在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Matlab數(shù)字?jǐn)?shù)字圖像處理函數(shù)匯總

新機(jī)器視覺 ? 來源:CSDN ? 2023-08-24 10:29 ? 次閱讀

顯示索引圖像和灰度圖像
>> [X,map]=imread('trees.tif');
>> gmap=rgb2gray(map);
>> figure,imshow(X,map);
>> figure,imshow(X,gmap);


利用膨脹函數(shù)平移圖像
I = imread('football.jpg');
se = translate(strel(1), [30 30]);%將一個平面結(jié)構(gòu)化元素分別向下和向右移動30個位置
J = imdilate(I,se);%利用膨脹函數(shù)平移圖像
subplot(121);imshow(I), title('原圖')
subplot(122), imshow(J), title('移動后的圖像');


水平翻轉(zhuǎn)和上下翻轉(zhuǎn)
I = imread('cameraman.tif');
Flip1=fliplr(I); % 對矩陣I左右反轉(zhuǎn)
subplot(131);imshow(I);title('原圖');
subplot(132);imshow(Flip1);title('水平鏡像');
Flip2=flipud(I); % 對矩陣I垂直反轉(zhuǎn)
subplot(133);imshow(Flip2);title('豎直鏡像');


圖像旋轉(zhuǎn)
I=imread('cameraman.tif');
B=imrotate(I,60,'bilinear','crop');
%雙線性插值法旋轉(zhuǎn)圖像,并裁剪圖像,使其和原圖像大小一致
subplot(121),imshow(I),title('原圖');
subplot(122),imshow(B),title('旋轉(zhuǎn)圖像60^{o},并剪切圖像');


截取圖像
I = imread('circuit.tif');
I2 = imcrop(I,[75 68 130 112]);
imshow(I), figure, imshow(I2)


畫輪廓
>> I=imread('circuit.tif');
>> imshow(I)
>> figure
>> imcontour(I,3)


噪聲和濾波
I=imread('cameraman.tif');
J=imnoise(I,'salt & pepper',0.02);%添加椒鹽噪聲
subplot(121),imshow(J);title('噪聲圖像')
K=medfilt2(J);%使用3*3的鄰域窗的中值濾波
subplot(122),imshow(K);title('中值濾波后圖像')

Matlab數(shù)字?jǐn)?shù)字圖像處理函數(shù)匯總:

1、數(shù)字?jǐn)?shù)字圖像的變換

① fft2:fft2函數(shù)用于數(shù)字?jǐn)?shù)字圖像的二維傅立葉變換,如:i=imread('104_8.tif');

j=fft2(i);

②ifft2::ifft2函數(shù)用于數(shù)字?jǐn)?shù)字圖像的二維傅立葉反變換,如:

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

j=fft2(i);

k=ifft2(j);

2、模擬噪聲生成函數(shù)和預(yù)定義濾波器

① imnoise:用于對數(shù)字?jǐn)?shù)字圖像生成模擬噪聲,如:

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

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

② fspecial:用于產(chǎn)生預(yù)定義濾波器,如:

h=fspecial('sobel');%sobel水平邊緣增強(qiáng)濾波器


h=fspecial('gaussian');%高斯低通濾波器


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


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


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


2、數(shù)字?jǐn)?shù)字圖像的增強(qiáng)


①直方圖:imhist函數(shù)用于數(shù)字?jǐn)?shù)字圖像的直方圖顯示,如:


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


imhist(i);


②直方圖均化:histeq函數(shù)用于數(shù)字?jǐn)?shù)字圖像的直方圖均化,如:


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


j=histeq(i);


imshow(J)
③對比度調(diào)整:imadjust函數(shù)用于數(shù)字?jǐn)?shù)字圖像的對比度調(diào)整,如:i=imread('104_8.tif');


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


④對數(shù)變換:log函數(shù)用于數(shù)字?jǐn)?shù)字圖像的對數(shù)變換,如:


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


j=double(i);


k=log(j);


⑤基于卷積的數(shù)字?jǐn)?shù)字圖像濾波函數(shù):filter2函數(shù)用于數(shù)字?jǐn)?shù)字圖像濾波,如: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函數(shù)用于數(shù)字?jǐn)?shù)字圖像的中值濾波,如:


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


j=medfilt2(i);


⑧銳化


(1)利用Sobel算子銳化數(shù)字?jǐn)?shù)字圖像, 如:


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


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


j=filter2(h,i);


(2)利用拉氏算子銳化數(shù)字?jǐn)?shù)字圖像, 如:


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;


3、數(shù)字?jǐn)?shù)字圖像邊緣檢測


①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)


4、形態(tài)學(xué)數(shù)字?jǐn)?shù)字圖像處理


①膨脹:是在二值化數(shù)字?jǐn)?shù)字圖像中“加長”或“變粗”的操作,函數(shù)imdilate執(zhí)行膨脹運算,如:


a=imread('104_7.tif');%輸入二值數(shù)字?jǐn)?shù)字圖像


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


c=imdilate(a,b);


②腐蝕:函數(shù)imerode執(zhí)行腐蝕,如:


a=imread('104_7.tif');%輸入二值數(shù)字?jǐn)?shù)字圖像


b=strel('disk',1);


c=imerode(a,b);


③開運算:先腐蝕后膨脹稱為開運算,用imopen來實現(xiàn),如:


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


b=strel('square',2);


c=imopen(a,b);


④閉運算:先膨脹后腐蝕稱為閉運算,用imclose來實現(xiàn),如:


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


b=strel('square',2);


c=imclose(a,b);

數(shù)字?jǐn)?shù)字圖像增強(qiáng)
1. 直方圖均衡化的 Matlab 實現(xiàn)
1.1 imhist 函數(shù)
功能:計算和顯示數(shù)字?jǐn)?shù)字圖像的色彩直方圖
格式:imhist(I,n)
imhist(X,map)
說明:imhist(I,n) 其中,n 為指定的灰度級數(shù)目,缺省值為256;imhist(X,map) 就算和顯示索引色數(shù)字?jǐn)?shù)字圖像 X 的直方圖,map為調(diào)色板。用stem(x,counts) 同樣可以顯示直方圖。


1.2 imcontour 函數(shù)
功能:顯示數(shù)字?jǐn)?shù)字圖像的等灰度值圖
格式:imcontour(I,n),imcontour(I,v)
說明:n 為灰度級的個數(shù),v 是有用戶指定所選的等灰度級向量。


1.3 imadjust 函數(shù)
功能:通過直方圖變換調(diào)整對比度
格式:J=imadjust(I,[low high],[bottomtop],gamma)
newmap=imadjust(map,[low high],[bottomtop],gamma)
說明:J=imadjust(I,[low high],[bottomtop],gamma) 其中,gamma 為校正量r,[lowhigh] 為原數(shù)字?jǐn)?shù)字圖像中要變換的灰度范圍,[bottom top]
指定了變換后的灰度范圍;newmap=imadjust(map,[lowhigh],[bottom top],gamma) 調(diào)整索引色數(shù)字?jǐn)?shù)字圖像的調(diào)色板 map 。此時若 [low high] 和
[bottom top] 都為2×3的矩陣,則分別調(diào)整 R、G、B 3個分量。


1.4 histeq 函數(shù)
功能:直方圖均衡化
格式:J=histeq(I,hgram)
J=histeq(I,n)
[J,T]=histeq(I,...)
newmap=histeq(X,map,hgram)
newmap=histeq(X,map)
[new,T]=histeq(X,...)
說明:J=histeq(I,hgram) 實現(xiàn)了所謂“直方圖規(guī)定化”,即將原是圖象 I 的直方圖變換成用戶指定的向量 hgram 。hgram 中的每一個元素
都在 [0,1] 中;J=histeq(I,n) 指定均衡化后的灰度級數(shù) n ,缺省值為 64;[J,T]=histeq(I,...)返回從能將數(shù)字?jǐn)?shù)字圖像 I 的灰度直方圖變換成
數(shù)字?jǐn)?shù)字圖像 J 的直方圖的變換 T ;newmap=histeq(X,map) 和 [new,T]=histeq(X,...) 是針對索引色數(shù)字?jǐn)?shù)字圖像調(diào)色板的直方圖均衡。


2. 噪聲及其噪聲的 Matlab 實現(xiàn)
imnoise 函數(shù)
格式:J=imnoise(I,type)
J=imnoise(I,type,parameter)
說明:J=imnoise(I,type) 返回對數(shù)字?jǐn)?shù)字圖像 I 添加典型噪聲后的有噪數(shù)字?jǐn)?shù)字圖像 J ,參數(shù)type 和 parameter 用于確定噪聲的類型和相應(yīng)的參數(shù)。


3. 數(shù)字?jǐn)?shù)字圖像濾波的 Matlab 實現(xiàn)


3.1 conv2 函數(shù)
功能:計算二維卷積
格式:C=conv2(A,B)
C=conv2(Hcol,Hrow,A)
C=conv2(...,'shape')
說明:對于 C=conv2(A,B) ,conv2 的算矩陣A 和 B 的卷積,若[Ma,Na]=size(A), [Mb,Nb]=size(B), 則 size(C)=[Ma+Mb-1,Na+Nb-1];
C=conv2(Hcol,Hrow,A) 中,矩陣 A 分別與Hcol 向量在列方向和 Hrow 向量在行方向上進(jìn)行卷積;C=conv2(...,'shape') 用來指定 conv2
返回二維卷積結(jié)果部分,參數(shù) shape 可取值如下:
》full為缺省值,返回二維卷積的全部結(jié)果;
》same返回二維卷積結(jié)果中與 A 大小相同的中間部分;
valid 返回在卷積過程中,未使用邊緣補(bǔ) 0 部分進(jìn)行計算的卷積結(jié)果部分,當(dāng) size(A)>size(B) 時,size(C)=[Ma-Mb+1,Na-Nb+1]。


3.2 conv 函數(shù)
功能:計算多維卷積
格式:與 conv2 函數(shù)相同


3.3 filter2函數(shù)
功能:計算二維線型數(shù)字濾波,它與函數(shù) fspecial 連用
格式:Y=filter2(B,X)
Y=filter2(B,X,'shape')
說明:對于 Y=filter2(B,X) ,filter2 使用矩陣B 中的二維 FIR 濾波器對數(shù)據(jù) X 進(jìn)行濾波,結(jié)果 Y 是通過二維互相關(guān)計算出來的,其大
小與 X 一樣;對于Y=filter2(B,X,'shape') ,filter2返回的 Y 是通過二維互相關(guān)計算出來的,其大小由參數(shù) shape 確定,其取值如下

》full返回二維相關(guān)的全部結(jié)果,size(Y)>size(X);
》same返回二維互相關(guān)結(jié)果的中間部分,Y 與X 大小相同;
》valid返回在二維互相關(guān)過程中,未使用邊緣補(bǔ) 0 部分進(jìn)行計算的結(jié)果部分,有 size(Y)

3.4 fspecial 函數(shù)
功能:產(chǎn)生預(yù)定義濾波器
格式:H=fspecial(type)
H=fspecial('gaussian',n,sigma) 高斯低通濾波器
H=fspecial('sobel') Sobel 水平邊緣增強(qiáng)濾波器
H=fspecial('prewitt') Prewitt 水平邊緣增強(qiáng)濾波器
H=fspecial('laplacian',alpha) 近似二維拉普拉斯運算濾波器
H=fspecial('log',n,sigma) 高斯拉普拉斯(LoG)運算濾波器
H=fspecial('average',n) 均值濾波器
H=fspecial('unsharp',alpha) 模糊對比增強(qiáng)濾波器
說明:對于形式 H=fspecial(type) ,fspecial 函數(shù)產(chǎn)生一個由 type 指定的二維濾波器 H ,返回的H 常與其它濾波器搭配使用。


4. 彩色增強(qiáng)的 Matlab 實現(xiàn)
4.1 imfilter函數(shù)
功能:真彩色增強(qiáng)
格式:B=imfilter(A,h)
說明:將原始數(shù)字?jǐn)?shù)字圖像 A 按指定的濾波器 h 進(jìn)行濾波增強(qiáng)處理,增強(qiáng)后的數(shù)字?jǐn)?shù)字圖像 B 與A 的尺寸和類型相同


數(shù)字?jǐn)?shù)字圖像的變換


1. 離散傅立葉變換的Matlab 實現(xiàn)
Matlab 函數(shù) fft、fft2 和 fftn 分別可以實現(xiàn)一維、二維和 N 維 DFT 算法;而函數(shù) ifft、ifft2 和 ifftn 則用來計算反 DFT 。
這些函數(shù)的調(diào)用格式如下:
A=fft(X,N,DIM)
其中,X 表示輸入數(shù)字?jǐn)?shù)字圖像;N 表示采樣間隔點,如果 X 小于該數(shù)值,那么 Matlab 將會對 X 進(jìn)行零填充,否則將進(jìn)行截取,使之長度為
N ;DIM 表示要進(jìn)行離散傅立葉變換。
A=fft2(X,MROWS,NCOLS)
其中,MROWS 和 NCOLS 指定對 X 進(jìn)行零填充后的 X 大小。
A=fftn(X,SIZE)
其中,SIZE 是一個向量,它們每一個元素都將指定 X 相應(yīng)維進(jìn)行零填充后的長度。
函數(shù) ifft、ifft2 和 ifftn的調(diào)用格式于對應(yīng)的離散傅立葉變換函數(shù)一致。
例子:數(shù)字?jǐn)?shù)字圖像的二維傅立葉頻譜
% 讀入原始數(shù)字?jǐn)?shù)字圖像
I=imread('lena.bmp');
imshow(I)
% 求離散傅立葉頻譜
J=fftshift(fft2(I));
figure;
imshow(log(abs(J)),[8,10])


2. 離散余弦變換的 Matlab實現(xiàn)
2.1. dCT2 函數(shù)
功能:二維 DCT 變換
格式:B=dct2(A)
B=dct2(A,m,n)
B=dct2(A,[m,n])
說明:B=dct2(A) 計算 A 的 DCT 變換 B ,A 與 B 的大小相同;B=dct2(A,m,n) 和 B=dct2(A,[m,n]) 通過對 A 補(bǔ) 0 或剪裁,使 B 的大小為 m×n。


2.2. dict2 函數(shù)
功能:DCT 反變換
格式:B=idct2(A)
B=idct2(A,m,n)
B=idct2(A,[m,n])
說明:B=idct2(A) 計算 A 的 DCT 反變換 B ,A 與 B 的大小相同;B=idct2(A,m,n) 和 B=idct2(A,[m,n]) 通過對 A 補(bǔ) 0 或剪裁,使 B的大小為 m×n。


2.3. dctmtx函數(shù)
功能:計算 DCT 變換矩陣
格式:D=dctmtx(n)
說明:D=dctmtx(n) 返回一個 n×n 的 DCT 變換矩陣,輸出矩陣 D 為 double 類型。


3. 數(shù)字?jǐn)?shù)字圖像小波變換的Matlab 實現(xiàn)
3.1 一維小波變換的 Matlab實現(xiàn)
(1) dwt 函數(shù)
功能:一維離散小波變換
格式:[cA,cD]=dwt(X,'wname')
[cA,cD]=dwt(X,Lo_D,Hi_D)
說明:[cA,cD]=dwt(X,'wname')使用指定的小波基函數(shù)'wname' 對信號 X 進(jìn)行分解,cA、cD分別為近似分量和細(xì)節(jié)分量;[cA,cD]=dwt(X,Lo_D,Hi_D) 使用指定的濾波器組 Lo_D、Hi_D 對信號進(jìn)行分解。


(2) idwt 函數(shù)
功能:一維離散小波反變換
格式:X=idwt(cA,cD,'wname')
X=idwt(cA,cD,Lo_R,Hi_R)
X=idwt(cA,cD,'wname',L)
X=idwt(cA,cD,Lo_R,Hi_R,L)
說明:X=idwt(cA,cD,'wname')由近似分量 cA 和細(xì)節(jié)分量 cD 經(jīng)小波反變換重構(gòu)原始信號 X 。
'wname' 為所選的小波函數(shù)
X=idwt(cA,cD,Lo_R,Hi_R) 用指定的重構(gòu)濾波器 Lo_R 和 Hi_R 經(jīng)小波反變換重構(gòu)原始信號 X 。
X=idwt(cA,cD,'wname',L) 和 X=idwt(cA,cD,Lo_R,Hi_R,L) 指定返回信號 X 中心附近的 L 個點。


3.2 二維小波變換的 Matlab實現(xiàn)
二維小波變換的函數(shù)
-------------------------------------------------
函數(shù)名 函數(shù)功能
---------------------------------------------------
dwt2 二維離散小波變換
wavedec2 二維信號的多層小波分解
idwt2 二維離散小波反變換
waverec2 二維信號的多層小波重構(gòu)
wrcoef2 由多層小波分解重構(gòu)某一層的分解信號
upcoef2 由多層小波分解重構(gòu)近似分量或細(xì)節(jié)分量
detcoef2 提取二維信號小波分解的細(xì)節(jié)分量
appcoef2 提取二維信號小波分解的近似分量
upwlev2 二維小波分解的單層重構(gòu)
dwtpet2 二維周期小波變換
idwtper2 二維周期小波反變換
-------------------------------------------------------------
(1) wcodemat 函數(shù)
功能:對數(shù)據(jù)矩陣進(jìn)行偽彩色編碼
格式:Y=wcodemat(X,NB,OPT,ABSOL)
Y=wcodemat(X,NB,OPT)
Y=wcodemat(X,NB)
Y=wcodemat(X)
說明:Y=wcodemat(X,NB,OPT,ABSOL)返回數(shù)據(jù)矩陣 X 的編碼矩陣 Y ;NB 偽編碼的最大值,即編碼范圍為 0~NB,缺省值 NB=16;
OPT 指定了編碼的方式(缺省值為 'mat'),即:
OPT='row' ,按行編碼
OPT='col' ,按列編碼
OPT='mat' ,按整個矩陣編碼
ABSOL 是函數(shù)的控制參數(shù)(缺省值為 '1'),即:
ABSOL=0 時,返回編碼矩陣
ABSOL=1 時,返回數(shù)據(jù)矩陣的絕對值A(chǔ)BS(X)


(2) dwt2 函數(shù)
功能:二維離散小波變換
格式:[cA,cH,cV,cD]=dwt2(X,'wname')
[cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D)
說明:[cA,cH,cV,cD]=dwt2(X,'wname')使用指定的小波基函數(shù) 'wname' 對二維信號 X 進(jìn)行二維離散小波變幻;cA,cH,cV,cD 分別為近似分
量、水平細(xì)節(jié)分量、垂直細(xì)節(jié)分量和對角細(xì)節(jié)分量;[cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D) 使用指定的分解低通和高通濾波器 Lo_D 和 Hi_D 分
解信號 X 。


(3) wavedec2 函數(shù)
功能:二維信號的多層小波分解
格式:[C,S]=wavedec2(X,N,'wname')
[C,S]=wavedec2(X,N,Lo_D,Hi_D)
說明:[C,S]=wavedec2(X,N,'wname')使用小波基函數(shù)'wname' 對二維信號 X 進(jìn)行 N 層分解;[C,S]=wavedec2(X,N,Lo_D,Hi_D) 使用指定
的分解低通和高通濾波器Lo_D 和 Hi_D 分解信號 X 。


(4) idwt2 函數(shù)
功能:二維離散小波反變換
格式:X=idwt2(cA,cH,cV,cD,'wname')
X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R)
X=idwt2(cA,cH,cV,cD,'wname',S)
X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S)
說明:X=idwt2(cA,cH,cV,cD,'wname')由信號小波分解的近似信號cA 和細(xì)節(jié)信號 cH、cH、cV、cD 經(jīng)小波反變換重構(gòu)原信號 X
;X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R)使用指定的重構(gòu)低通和高通濾波器 Lo_R 和 Hi_R 重構(gòu)原信號 X ;X=idwt2(cA,cH,cV,cD,'wname',S)
和X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S) 返回中心附近的 S 個數(shù)據(jù)點。


(5) waverec2 函數(shù)
說明:二維信號的多層小波重構(gòu)
格式:X=waverec2(C,S,'wname')
X=waverec2(C,S,Lo_R,Hi_R)
說明:X=waverec2(C,S,'wname')由多層二維小波分解的結(jié)果 C、S 重構(gòu)原始信號 X ,'wname'為使用的小波基函數(shù);X=waverec2(C,S,Lo_R,Hi_R) 使用重構(gòu)低通和高通濾波器 Lo_R 和 Hi_R 重構(gòu)原信號。


數(shù)字?jǐn)?shù)字圖像處理工具箱
1. 數(shù)字?jǐn)?shù)字圖像和數(shù)字?jǐn)?shù)字圖像數(shù)據(jù)
缺省情況下,MATLAB將數(shù)字?jǐn)?shù)字圖像中的數(shù)據(jù)存儲為雙精度類型(double),64位浮點
數(shù),所需存儲量很大;MATLAB還支持另一種類型無符號整型(uint8),即數(shù)字?jǐn)?shù)字圖像矩
陣中每個數(shù)據(jù)占用1個字節(jié)。
在使用MATLAB工具箱時,一定要注意函數(shù)所要求的參數(shù)類型。另外,uint8
與double兩種類型數(shù)據(jù)的值域不同,編程需注意值域轉(zhuǎn)換。
從uint8到double的轉(zhuǎn)換
---------------------------------------------
數(shù)字?jǐn)?shù)字圖像類型 MATLAB語句
---------------------------------------------
索引色 B=double(A)+1
索引色或真彩色 B=double(A)/255
二值數(shù)字?jǐn)?shù)字圖像 B=double(A)
---------------------------------------------
從double到uint8的轉(zhuǎn)換
---------------------------------------------
數(shù)字?jǐn)?shù)字圖像類型 MATLAB語句
---------------------------------------------
索引色 B=uint8(round(A-1))
索引色或真彩色 B=uint8(round(A*255))
二值數(shù)字?jǐn)?shù)字圖像 B=logical(uint8(round(A)))
---------------------------------------------


2. 數(shù)字?jǐn)?shù)字圖像處理工具箱所支持的數(shù)字?jǐn)?shù)字圖像類型
2.1 真彩色數(shù)字?jǐn)?shù)字圖像
R、G、B三個分量表示一個像素的顏色。如果要讀取數(shù)字?jǐn)?shù)字圖像中(100,50)處的像素值,
可查看三元數(shù)據(jù)(100,50,1:3)。
真彩色數(shù)字?jǐn)?shù)字圖像可用雙精度存儲,亮度值范圍是[0,1];比較符合習(xí)慣的存儲方法是用無
符號整型存儲,亮度值范圍[0,255]

2.2 索引色數(shù)字?jǐn)?shù)字圖像
包含兩個結(jié)構(gòu),一個是調(diào)色板,另一個是數(shù)字?jǐn)?shù)字圖像數(shù)據(jù)矩陣。調(diào)色板是一個有3列和若干行
的色彩映象矩陣,矩陣每行代表一種顏色,3列分別代表紅、綠、藍(lán)色強(qiáng)度的雙精度數(shù)。

注意:MATLAB中調(diào)色板色彩強(qiáng)度[0,1],0代表最暗,1代表最亮。
常用顏色的RGB值
--------------------------------------------
顏色 R G B 顏色 R G B
--------------------------------------------
黑 0 0 1 洋紅 1 0 1
白 1 1 1 青藍(lán) 0 1 1
紅 1 0 0 天藍(lán) 0.67 0 1
綠 0 1 0 橘黃 1 0.5 0
藍(lán) 0 0 1 深紅 0.5 0 0
黃 1 1 0 灰 0.5 0.5 0.5
--------------------------------------------
產(chǎn)生標(biāo)準(zhǔn)調(diào)色板的函數(shù)
-------------------------------------------------
函數(shù)名 調(diào)色板
-------------------------------------------------
Hsv 色彩飽和度,以紅色開始,并以紅色結(jié)束
Hot 黑色-紅色-黃色-白色
Cool 青藍(lán)和洋紅的色度
Pink 粉紅的色度
Gray 線型灰度
Bone 帶藍(lán)色的灰度
Jet Hsv的一種變形,以藍(lán)色開始,以藍(lán)色結(jié)束
Copper 線型銅色度
Prim 三棱鏡,交替為紅、橘黃、黃、綠和天藍(lán)
Flag 交替為紅、白、藍(lán)和黑
--------------------------------------------------
缺省情況下,調(diào)用上述函數(shù)灰產(chǎn)生一個64×3的調(diào)色板,用戶也可指定調(diào)色板大小。

索引色數(shù)字?jǐn)?shù)字圖像數(shù)據(jù)也有double和uint8兩種類型。
當(dāng)數(shù)字?jǐn)?shù)字圖像數(shù)據(jù)為double類型時,值1代表調(diào)色板中的第1行,值2代表第2行……
如果數(shù)字?jǐn)?shù)字圖像數(shù)據(jù)為uint8類型,0代表調(diào)色板的第一行,,值1代表第2行……


2.3 灰度數(shù)字?jǐn)?shù)字圖像
存儲灰度數(shù)字?jǐn)?shù)字圖像只需要一個數(shù)據(jù)矩陣。
數(shù)據(jù)類型可以是double,[0,1];也可以是uint8,[0,255]


2.4 二值數(shù)字?jǐn)?shù)字圖像
二值數(shù)字?jǐn)?shù)字圖像只需一個數(shù)據(jù)矩陣,每個像素只有兩個灰度值,可以采用uint8或double類型存儲。
MATLAB工具箱中以二值數(shù)字?jǐn)?shù)字圖像作為返回結(jié)果的函數(shù)都使用uint8類型。


2.5 數(shù)字?jǐn)?shù)字圖像序列
MATLAB工具箱支持將多幀數(shù)字?jǐn)?shù)字圖像連接成數(shù)字?jǐn)?shù)字圖像序列。
數(shù)字?jǐn)?shù)字圖像序列是一個4維數(shù)組,數(shù)字?jǐn)?shù)字圖像幀的序號在數(shù)字?jǐn)?shù)字圖像的長、寬、顏色深度之后構(gòu)成第4維。
分散的數(shù)字?jǐn)?shù)字圖像也可以合并成數(shù)字?jǐn)?shù)字圖像序列,前提是各數(shù)字?jǐn)?shù)字圖像尺寸必須相同,若是索引色數(shù)字?jǐn)?shù)字圖像,
調(diào)色板也必須相同。
可參考cat()函數(shù) A=cat(4,A1,A2,A3,A4,A5)


3. MATLAB數(shù)字?jǐn)?shù)字圖像類型轉(zhuǎn)換
數(shù)字?jǐn)?shù)字圖像類型轉(zhuǎn)換函數(shù)
---------------------------------------------------------------------------
函數(shù)名 函數(shù)功能
---------------------------------------------------------------------------
dither 數(shù)字?jǐn)?shù)字圖像抖動,將灰度圖變成二值圖,或?qū)⒄娌噬珨?shù)字?jǐn)?shù)字圖像抖動成索引色數(shù)字?jǐn)?shù)字圖像
gray2ind 將灰度數(shù)字?jǐn)?shù)字圖像轉(zhuǎn)換成索引數(shù)字?jǐn)?shù)字圖像
grayslice 通過設(shè)定閾值將灰度數(shù)字?jǐn)?shù)字圖像轉(zhuǎn)換成索引色數(shù)字?jǐn)?shù)字圖像
im2bw 通過設(shè)定亮度閾值將真彩色、索引色、灰度圖轉(zhuǎn)換成二值圖
ind2gray 將索引色數(shù)字?jǐn)?shù)字圖像轉(zhuǎn)換成灰度數(shù)字?jǐn)?shù)字圖像
ind2rgb 將索引色數(shù)字?jǐn)?shù)字圖像轉(zhuǎn)換成真彩色數(shù)字?jǐn)?shù)字圖像
mat2gray 將一個數(shù)據(jù)矩陣轉(zhuǎn)換成一副灰度圖
rgb2gray 將一副真彩色數(shù)字?jǐn)?shù)字圖像轉(zhuǎn)換成灰度數(shù)字?jǐn)?shù)字圖像
rgb2ind 將真彩色數(shù)字?jǐn)?shù)字圖像轉(zhuǎn)換成索引色數(shù)字?jǐn)?shù)字圖像
------------------------------------------------------------------------


4. 數(shù)字?jǐn)?shù)字圖像文件的讀寫和查詢
4.1 圖形數(shù)字?jǐn)?shù)字圖像文件的讀取
利用函數(shù)imread()可完成圖形數(shù)字?jǐn)?shù)字圖像文件的讀取,語法:
A=imread(filename,fmt)
[X,map]=imread(filename,fmt)
[...]=imread(filename)
[...]=imread(filename,idx) (只對TIF格式的文件)
[...]=imread(filename,ref) (只對HDF格式的文件)
通常,讀取的大多數(shù)數(shù)字圖像均為8bit,當(dāng)這些數(shù)字圖像加載到內(nèi)存中時,Matlab就將其存放
在類uint8中。此為Matlab還支持16bit的PNG和TIF數(shù)字圖像,當(dāng)讀取這類文件時,Matlab就將
其存貯在uint16中。
注意:對于索引數(shù)字圖像,即使數(shù)字圖像陣列的本身為類uint8或類uint16,imread函數(shù)仍將
顏色映象表讀取并存貯到一個雙精度的浮點類型的陣列中。


4.2 圖形數(shù)字圖像文件的寫入
使用imwrite函數(shù),語法如下:
imwrite(A,filename,fmt)
imwrite(X,map,filename,fmt)
imwrite(...,filename)
imwrite(...,parameter,value)
當(dāng)利用imwrite函數(shù)保存數(shù)字圖像時,Matlab缺省的方式是將其簡化道uint8的數(shù)據(jù)格式。


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




5. 數(shù)字圖像文件的顯示
5.1 索引數(shù)字圖像及其顯示
方法一:
image(X)
colormap(map)
方法二:
imshow(X,map)


5.2 灰度數(shù)字圖像及其顯示
Matlab 7.0 中,要顯示一副灰度數(shù)字圖像,可以調(diào)用函數(shù) imshow 或 imagesc (即
imagescale,數(shù)字圖像縮放函數(shù))
(1) imshow 函數(shù)顯示灰度數(shù)字圖像
使用imshow(I) 或 使用明確指定的灰度級書目:imshow(I,32)

由于Matlab自動對灰度數(shù)字圖像進(jìn)行標(biāo)度以適合調(diào)色板的范圍,因而可以使用自定義
大小的調(diào)色板。其調(diào)用格式如下:
imshow(I,[low,high])
其中,low 和 high 分別為數(shù)據(jù)數(shù)組的最小值和最大值。
(2) imagesc 函數(shù)顯示灰度數(shù)字圖像
下面的代碼是具有兩個輸入?yún)?shù)的 imagesc 函數(shù)顯示一副灰度數(shù)字圖像
imagesc(1,[0,1]);
colormap(gray);
imagesc 函數(shù)中的第二個參數(shù)確定灰度范圍。灰度范圍中的第一個值(通常是0),
對應(yīng)于顏色映象表中的第一個值(顏色),第二個值(通常是1)則對應(yīng)與顏色映象表
中的最后一個值(顏色)。灰度范圍中間的值則線型對應(yīng)與顏色映象表中剩余的值(顏色)。
在調(diào)用 imagesc 函數(shù)時,若只使用一個參數(shù),可以用任意灰度范圍顯示數(shù)字圖像。在該
調(diào)用方式下,數(shù)據(jù)矩陣中的最小值對應(yīng)于顏色映象表中的第一個顏色值,數(shù)據(jù)矩陣中的最大
值對應(yīng)于顏色映象表中的最后一個顏色值。


5.3 RGB 數(shù)字圖像及其顯示
(1) image(RGB)
不管RGB數(shù)字圖像的類型是double浮點型,還是 uint8 或 uint16 無符號整數(shù)型,Matlab都
能通過 image 函數(shù)將其正確顯示出來。
RGB8 = uint8(round(RGB64×255)); %將 double 浮點型轉(zhuǎn)換為 uint8 無符號整型
RGB64 = double(RGB8)/255; % 將 uint8 無符號整型轉(zhuǎn)換為 double 浮點型
RGB16 = uint16(round(RGB64×65535)); %將 double 浮點型轉(zhuǎn)換為 uint16 無符號整型
RGB64 = double(RGB16)/65535; % 將 uint16 無符號整型轉(zhuǎn)換為 double 浮點型
(2) imshow(RGB) 參數(shù)是一個 m×n×3 的數(shù)組


5.4 二進(jìn)制數(shù)字圖像及其顯示
(1) imshow(BW)
在 Matlab 7.0 中,二進(jìn)制數(shù)字圖像是一個邏輯類,僅包括 0 和 1 兩個數(shù)值。像素 0 顯示
為黑色,像素 1 顯示為白色。
顯示時,也可通過NOT(~)命令,對二進(jìn)制圖象進(jìn)行取反,使數(shù)值 0 顯示為白色;1 顯示
為黑色。
例如:imshow(~BW)
(2) 此外,還可以使用一個調(diào)色板顯示一副二進(jìn)制數(shù)字圖像。如果圖形是 uint8 數(shù)據(jù)類型,
則數(shù)值 0 顯示為調(diào)色板的第一個顏色,數(shù)值 1 顯示為第二個顏色。
例如:imshow(BW,[1 0 0;0 0 1])


5.5 直接從磁盤顯示數(shù)字圖像
可使用一下命令直接進(jìn)行數(shù)字圖像文件的顯示:
imshow filename
其中,filename 為要顯示的數(shù)字圖像文件的文件名。
如果數(shù)字圖像是多幀的,那么imshow 將僅顯示第一幀。但需注意,在使用這種方式時,數(shù)字圖像
數(shù)據(jù)沒有保存在Matlab7.0 工作平臺。如果希望將數(shù)字圖像裝入工作臺中,需使用 getimage 函數(shù),從當(dāng)前的句柄圖形數(shù)字圖像對象中獲取數(shù)字圖像數(shù)據(jù),
命令形式為:rgb = getimage;


bwlabel
功能:
標(biāo)注二進(jìn)制數(shù)字圖像中已連接的部分。
L = bwlabel(BW,n)
[L,num] = bwlabel(BW,n)
isbw
功能:
判斷是否為二進(jìn)制數(shù)字圖像。
語法:
flag = isbw(A)
相關(guān)命令:
isind, isgray, isrgb
74.isgray
功能:
判斷是否為灰度數(shù)字圖像。
語法:
flag = isgray(A)
相關(guān)命令:
isbw, isind, isrgb
11.bwselect
功能:
在二進(jìn)制數(shù)字圖像中選擇對象。
語法:
BW2 = bwselect(BW1,c,r,n)
BW2 = bwselect(BW1,n)
[BW2,idx] = bwselect(...)
舉例
BW1 = imread('text.tif');
c = [16 90 144];
r = [85 197 247];
BW2 = bwselect(BW1,c,r,4);
imshow(BW1)
figure, imshow(BW2)
47.im2bw
功能:
轉(zhuǎn)換數(shù)字圖像為二進(jìn)制數(shù)字圖像。
語法:
BW = im2bw(I,level)
BW = im2bw(X,map,level)
BW = im2bw(RGB,level)
舉例
load trees
BW = im2bw(X,map,0.4);
imshow(X,map)

編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • matlab
    +關(guān)注

    關(guān)注

    185

    文章

    2976

    瀏覽量

    230483
  • 圖像處理
    +關(guān)注

    關(guān)注

    27

    文章

    1292

    瀏覽量

    56747
  • 低通濾波器
    +關(guān)注

    關(guān)注

    14

    文章

    474

    瀏覽量

    47412
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4331

    瀏覽量

    62622

原文標(biāo)題:MATLAB圖像處理常用函數(shù)大全

文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    matlab數(shù)字圖像處理基礎(chǔ)編程教程

    matlab數(shù)字圖像處理基礎(chǔ)編程教程
    發(fā)表于 06-22 23:00

    Matlab數(shù)字圖像處理[2]

    matlab數(shù)字圖像處理[2].pdf
    發(fā)表于 12-04 16:45

    數(shù)字圖像處理

    1、圖像的變換和壓縮,利用離散余弦變換(DCT)2、實現(xiàn)圖像的真彩色增強(qiáng)3、實現(xiàn)圖像的灰度變換,利用直方圖均衡化的方法4、使用常用的濾波器對數(shù)字圖像進(jìn)行
    發(fā)表于 04-11 23:33

    岡薩雷斯數(shù)字圖像處理MATLAB版.中文版

    岡薩雷斯數(shù)字圖像處理MATLAB版.中文版
    發(fā)表于 12-21 09:10

    岡薩雷斯數(shù)字圖像處理MATLAB版(.m代碼)

    岡薩雷斯數(shù)字圖像處理MATLAB版(.m代碼)
    發(fā)表于 12-21 09:21

    應(yīng)用MATLAB語言處理數(shù)字信號與數(shù)字圖像

    應(yīng)用MATLAB語言處理數(shù)字信號與數(shù)字圖像
    發(fā)表于 05-22 09:19

    MATLAB數(shù)字圖像處理中的應(yīng)用

    介紹了如何利用MATLAB 及其圖像處理工具箱進(jìn)行數(shù)字圖像處理,并通過一些例子來說明利用MATLAB
    發(fā)表于 07-08 08:25 ?121次下載

    數(shù)字圖像處理試題集

    數(shù)字圖像處理試題集數(shù)字圖像處理試題集數(shù)字圖像處理試題集
    發(fā)表于 12-21 15:13 ?3次下載

    應(yīng)用MATlAB語言處理數(shù)字信號與數(shù)字圖像

    應(yīng)用MATlAB語言處理數(shù)字信號與數(shù)字圖像
    發(fā)表于 12-30 15:19 ?1次下載

    基于matlab數(shù)字圖像變換

    基于matlab數(shù)字圖像變換有代碼和注釋。
    發(fā)表于 06-17 14:35 ?5次下載

    數(shù)字圖像處理Matlab

    數(shù)字圖像處理是信息學(xué)科一個重要的類別,可以和電子技術(shù)結(jié)合發(fā)展。
    發(fā)表于 06-24 15:51 ?0次下載

    數(shù)字圖像處理基本的知識(一)

    數(shù)字圖像處理基本知識(一) demi 在 周二, 04/02/2019 - 13:38 提交 1、數(shù)字圖像數(shù)字圖像,又稱為數(shù)碼圖像或數(shù)位
    的頭像 發(fā)表于 03-24 17:24 ?6950次閱讀

    數(shù)字圖像處理的基礎(chǔ)知識

    數(shù)字圖像,又稱為數(shù)碼圖像或數(shù)位圖像,是二維圖像用有限數(shù)字?jǐn)?shù)值像素的表示。數(shù)字圖像是由模擬
    的頭像 發(fā)表于 08-01 16:18 ?1174次閱讀
    <b class='flag-5'>數(shù)字圖像</b><b class='flag-5'>處理</b>的基礎(chǔ)知識

    數(shù)字圖像處理基本知識

    數(shù)字圖像,又稱為數(shù)碼圖像或數(shù)位圖像,是二維圖像用有限數(shù)字?jǐn)?shù)值像素的表示。數(shù)字圖像是由模擬
    的頭像 發(fā)表于 10-29 11:31 ?1193次閱讀
    <b class='flag-5'>數(shù)字圖像</b><b class='flag-5'>處理</b>基本知識

    數(shù)字圖像處理基本知識有哪些

    數(shù)字圖像,又稱為數(shù)碼圖像或數(shù)位圖像,是二維圖像用有限數(shù)字?jǐn)?shù)值像素的表示。數(shù)字圖像是由模擬
    發(fā)表于 10-30 11:38 ?694次閱讀
    <b class='flag-5'>數(shù)字圖像</b><b class='flag-5'>處理</b>基本知識有哪些
    主站蜘蛛池模板: 久热首页| 4438x成人网最大色成网站| 一区二区不卡免费视频| 性69交片免费看| 国模在线视频| 久久国产福利| 最好看最新的中文字幕1| 福利盒子手机看片| 国产精品第一页在线观看| 亚洲综合色视频| 黄色有码视频| 国产特黄一级一片免费| 妖精视频永久在线入口| 国模精品一区二区| 国产jlzzjlzz视频免费| 亚洲六月丁香六月婷婷花| 一级特黄aa毛片免费观看| 久久鲁视频| 国产伦精品一区二区免费| 亚洲爱爱网站| www.91在线播放| 中文字幕精品一区| 欧美一级高清片在线| 日本片巨大的乳456线观看| 国产精品色婷婷在线观看| 久久99精品久久久久久野外| 在线免费观看视频| 中文一区二区| 快色视频免费| 777精品视频| 日韩免费三级电影| 热99re久久精品2久久久| 18男女很黄的视频| 成年女人毛片免费视频| 人人干天天操| 亚洲阿v天堂2018在线观看| 99色在线视频| 日本不卡免费高清视频| 三级网站免费| 免费三级pq| 色女人在线视频|