- 一 圖像的讀寫
- 1 imread
imread函數(shù)用于讀入各種圖像文件,如:a=imread('e:\w01.tif') 注:計算機E盤上要有w01相應(yīng)的.tif文件。 2 imwrite imwrite函數(shù)用于寫入圖像文件,如:imwrite(a,'e:\w02.tif',’tif’) 3 imfinfo imfinfo函數(shù)用于讀取圖像文件的有關(guān)信息,如:imfinfo('e:\w01.tif') 二 圖像的顯示 1 image image函數(shù)是MATLAB提供的最原始的圖像顯示函數(shù),如: a=[1,2,3,4;4,5,6,7;8,9,10,11,12]; image(a); 2 imshow imshow函數(shù)用于圖像文件的顯示,如: i=imread('e:\w01.tif'); imshow(i); 3 colorbar colorbar函數(shù)用顯示圖像的顏色條,如: i=imread('e:\w01.tif'); imshow(i); colorbar; 4 figure figure函數(shù)用于設(shè)定圖像顯示窗口,如:figure(1); /figure(2); 三 圖像的變換
1 fft2 fft2函數(shù)用于數(shù)字圖像的二維傅立葉變換,如: i=imread('e:\w01.tif'); j=fft2(i); 2 ifft2 ifft2函數(shù)用于數(shù)字圖像的二維傅立葉反變換,如: i=imread('e:\w01.tif'); j=fft2(i); k=ifft2(j); 3 利用fft2計算二維卷積 利用fft2函數(shù)可以計算二維卷積,如: a=[8,1,6;3,5,7;4,9,2]; b=[1,1,1;1,1,1;1,1,1]; a(8,8)=0; b(8,8)=0; c=ifft2(fft2(a).*fft2(b)); c=c(1:5,1:5); 利用conv2(二維卷積函數(shù))校驗, 如: a=[8,1,6;3,5,7;4,9,2]; b=[1,1,1;1,1,1;1,1,1]; c=conv2(a,b); 四 模擬噪聲生成函數(shù)和預(yù)定義濾波器 1 imnoise imnoise函數(shù)用于對圖像生成模擬噪聲,如: i=imread('e:\w01.tif'); j=imnoise(i,'gaussian',0,0.02);%模擬高斯噪聲 2 fspecial fspecial函數(shù)用于產(chǎn)生預(yù)定義濾波器,如: h=fspecial('sobel');%sobel水平邊緣增強濾波器 h=fspecial('gaussian');%高斯低通濾波器 h=fspecial('laplacian');%拉普拉斯濾波器 h=fspecial('log');%高斯拉普拉斯(LoG)濾波器 h=fspecial('average');%均值濾波器 五 圖像的增強 1 直方圖 imhist函數(shù)用于數(shù)字圖像的直方圖顯示,如: i=imread('e:\w01.tif'); imhist(i); 2 直方圖均化 histeq函數(shù)用于數(shù)字圖像的直方圖均化,如: i=imread('e:\w01.tif'); j=histeq(i); 3 對比度調(diào)整 imadjust函數(shù)用于數(shù)字圖像的對比度調(diào)整,如: i=imread('e:\w01.tif'); j=imadjust(i,[0.3,0.7],[]); 4 對數(shù)變換 log函數(shù)用于數(shù)字圖像的對數(shù)變換,如: i=imread('e:\w01.tif'); j=double(i); k=log(j); 5 基于卷積的圖像濾波函數(shù) filter2函數(shù)用于圖像濾波,如: i=imread('e:\w01.tif'); h=[1,2,1;0,0,0;-1,-2,-1]; j=filter2(h,i); 6 線性濾波 利用二維卷積conv2濾波, 如: i=imread('e:\w01.tif'); h=[1,1,1;1,1,1;1,1,1]; h=h/9; j=conv2(i,h); 7 中值濾波 medfilt2函數(shù)用于圖像的中值濾波,如: i=imread('e:\w01.tif'); j=medfilt2(i); 8 銳化 (1)利用Sobel算子銳化圖像, 如: i=imread('e:\w01.tif'); h=[1,2,1;0,0,0;-1,-2,-1];%Sobel算子 j=filter2(h,i); (2)利用拉氏算子銳化圖像, 如: i=imread('e:\w01.tif'); j=double(i); h=[0,1,0;1,-4,0;0,1,0];%拉氏算子 k=conv2(j,h,'same'); m=j-k; 六 舉例 二維傅立葉變換和二維傅立葉反變換: i=imread('e:\w01.tif'); figure(1); imshow(i); colorbar; j=fft2(i); k=fftshift(j); figure(2); l=log(abs(k)); imshow(l,[]); colorbar n=ifft2(j)/255; figure(3); imshow(n); colorbar;
- Matlab中圖像函數(shù)大全
- 圖像增強
- 1. 直方圖均衡化的 Matlab 實現(xiàn)
1.1 imhist 函數(shù) 功能:計算和顯示圖像的色彩直方圖 格式:imhist(I,n) imhist(X,map) 說明:imhist(I,n) 其中,n 為指定的灰度級數(shù)目,缺省值為256;imhist(X,map) 就算和顯示索引色圖像 X 的直方圖,map 為調(diào)色板。用
- stem(x,counts) 同樣可以顯示直方圖。
1.2 imcontour 函數(shù) 功能:顯示圖像的等灰度值圖 格式:imcontour(I,n),imcontour(I,v) 說明:n 為灰度級的個數(shù),v 是有用戶指定所選的等灰度級向量。 1.3 imadjust 函數(shù) 功能:通過直方圖變換調(diào)整對比度 格式:J=imadjust(I,[low high],[bottom top],gamma) newmap=imadjust(map,[low high],[bottom top],gamma) 說明:J=imadjust(I,[low high],[bottom top],gamma) 其中,gamma 為校正量r,[low high] 為原圖像中要變換的灰度范圍,[bottom top]
- 指定了變換后的灰度范圍;newmap=imadjust(map,[low high],[bottom top],gamma) 調(diào)整索引色圖像的調(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,...) 返回從能將圖像 I 的灰度直方圖變換成
- 圖像 J 的直方圖的變換 T ;newmap=histeq(X,map) 和 [new,T]=histeq(X,...) 是針對索引色圖像調(diào)色板的直方圖均衡。
- 一 圖像的讀寫
- 1 imread
imread函數(shù)用于讀入各種圖像文件,如:a=imread('e:\w01.tif') 注:計算機E盤上要有w01相應(yīng)的.tif文件。 2 imwrite imwrite函數(shù)用于寫入圖像文件,如:imwrite(a,'e:\w02.tif',’tif’) 3 imfinfo imfinfo函數(shù)用于讀取圖像文件的有關(guān)信息,如:imfinfo('e:\w01.tif') 二 圖像的顯示 1 image image函數(shù)是MATLAB提供的最原始的圖像顯示函數(shù),如: a=[1,2,3,4;4,5,6,7;8,9,10,11,12]; image(a); 2 imshow imshow函數(shù)用于圖像文件的顯示,如: i=imread('e:\w01.tif'); imshow(i); 3 colorbar colorbar函數(shù)用顯示圖像的顏色條,如: i=imread('e:\w01.tif'); imshow(i); colorbar; 4 figure figure函數(shù)用于設(shè)定圖像顯示窗口,如:figure(1); /figure(2); 三 圖像的變換
1 fft2 fft2函數(shù)用于數(shù)字圖像的二維傅立葉變換,如: i=imread('e:\w01.tif'); j=fft2(i); 2 ifft2 ifft2函數(shù)用于數(shù)字圖像的二維傅立葉反變換,如: i=imread('e:\w01.tif'); j=fft2(i); k=ifft2(j); 3 利用fft2計算二維卷積 利用fft2函數(shù)可以計算二維卷積,如: a=[8,1,6;3,5,7;4,9,2]; b=[1,1,1;1,1,1;1,1,1]; a(8,8)=0; b(8,8)=0; c=ifft2(fft2(a).*fft2(b)); c=c(1:5,1:5); 利用conv2(二維卷積函數(shù))校驗, 如: a=[8,1,6;3,5,7;4,9,2]; b=[1,1,1;1,1,1;1,1,1]; c=conv2(a,b); 四 模擬噪聲生成函數(shù)和預(yù)定義濾波器 1 imnoise imnoise函數(shù)用于對圖像生成模擬噪聲,如: i=imread('e:\w01.tif'); j=imnoise(i,'gaussian',0,0.02);%模擬高斯噪聲 2 fspecial fspecial函數(shù)用于產(chǎn)生預(yù)定義濾波器,如: h=fspecial('sobel');%sobel水平邊緣增強濾波器 h=fspecial('gaussian');%高斯低通濾波器 h=fspecial('laplacian');%拉普拉斯濾波器 h=fspecial('log');%高斯拉普拉斯(LoG)濾波器 h=fspecial('average');%均值濾波器 五 圖像的增強 1 直方圖 imhist函數(shù)用于數(shù)字圖像的直方圖顯示,如: i=imread('e:\w01.tif'); imhist(i); 2 直方圖均化 histeq函數(shù)用于數(shù)字圖像的直方圖均化,如: i=imread('e:\w01.tif'); j=histeq(i); 3 對比度調(diào)整 imadjust函數(shù)用于數(shù)字圖像的對比度調(diào)整,如: i=imread('e:\w01.tif'); j=imadjust(i,[0.3,0.7],[]); 4 對數(shù)變換 log函數(shù)用于數(shù)字圖像的對數(shù)變換,如: i=imread('e:\w01.tif'); j=double(i); k=log(j); 5 基于卷積的圖像濾波函數(shù) filter2函數(shù)用于圖像濾波,如: i=imread('e:\w01.tif'); h=[1,2,1;0,0,0;-1,-2,-1]; j=filter2(h,i); 6 線性濾波 利用二維卷積conv2濾波, 如: i=imread('e:\w01.tif'); h=[1,1,1;1,1,1;1,1,1]; h=h/9; j=conv2(i,h); 7 中值濾波 medfilt2函數(shù)用于圖像的中值濾波,如: i=imread('e:\w01.tif'); j=medfilt2(i); 8 銳化 (1)利用Sobel算子銳化圖像, 如: i=imread('e:\w01.tif'); h=[1,2,1;0,0,0;-1,-2,-1];%Sobel算子 j=filter2(h,i); (2)利用拉氏算子銳化圖像, 如: i=imread('e:\w01.tif'); j=double(i); h=[0,1,0;1,-4,0;0,1,0];%拉氏算子 k=conv2(j,h,'same'); m=j-k; 六 舉例 二維傅立葉變換和二維傅立葉反變換: i=imread('e:\w01.tif'); figure(1); imshow(i); colorbar; j=fft2(i); k=fftshift(j); figure(2); l=log(abs(k)); imshow(l,[]); colorbar n=ifft2(j)/255; figure(3); imshow(n); colorbar;
- Matlab中圖像函數(shù)大全
- 圖像增強
- 1. 直方圖均衡化的 Matlab 實現(xiàn)
1.1 imhist 函數(shù) 功能:計算和顯示圖像的色彩直方圖 格式:imhist(I,n) imhist(X,map) 說明:imhist(I,n) 其中,n 為指定的灰度級數(shù)目,缺省值為256;imhist(X,map) 就算和顯示索引色圖像 X 的直方圖,map 為調(diào)色板。用
- stem(x,counts) 同樣可以顯示直方圖。
1.2 imcontour 函數(shù) 功能:顯示圖像的等灰度值圖 格式:imcontour(I,n),imcontour(I,v) 說明:n 為灰度級的個數(shù),v 是有用戶指定所選的等灰度級向量。 1.3 imadjust 函數(shù) 功能:通過直方圖變換調(diào)整對比度 格式:J=imadjust(I,[low high],[bottom top],gamma) newmap=imadjust(map,[low high],[bottom top],gamma) 說明:J=imadjust(I,[low high],[bottom top],gamma) 其中,gamma 為校正量r,[low high] 為原圖像中要變換的灰度范圍,[bottom top]
- 指定了變換后的灰度范圍;newmap=imadjust(map,[low high],[bottom top],gamma) 調(diào)整索引色圖像的調(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,...) 返回從能將圖像 I 的灰度直方圖變換成
- 圖像 J 的直方圖的變換 T ;newmap=histeq(X,map) 和 [new,T]=histeq(X,...) 是針對索引色圖像調(diào)色板的直方圖均衡。
- 一 圖像的讀寫
- 1 imread
imread函數(shù)用于讀入各種圖像文件,如:a=imread('e:\w01.tif') 注:計算機E盤上要有w01相應(yīng)的.tif文件。 2 imwrite imwrite函數(shù)用于寫入圖像文件,如:imwrite(a,'e:\w02.tif',’tif’) 3 imfinfo imfinfo函數(shù)用于讀取圖像文件的有關(guān)信息,如:imfinfo('e:\w01.tif') 二 圖像的顯示 1 image image函數(shù)是MATLAB提供的最原始的圖像顯示函數(shù),如: a=[1,2,3,4;4,5,6,7;8,9,10,11,12]; image(a); 2 imshow imshow函數(shù)用于圖像文件的顯示,如: i=imread('e:\w01.tif'); imshow(i); 3 colorbar colorbar函數(shù)用顯示圖像的顏色條,如: i=imread('e:\w01.tif'); imshow(i); colorbar; 4 figure figure函數(shù)用于設(shè)定圖像顯示窗口,如:figure(1); /figure(2); 三 圖像的變換
1 fft2 fft2函數(shù)用于數(shù)字圖像的二維傅立葉變換,如: i=imread('e:\w01.tif'); j=fft2(i); 2 ifft2 ifft2函數(shù)用于數(shù)字圖像的二維傅立葉反變換,如: i=imread('e:\w01.tif'); j=fft2(i); k=ifft2(j); 3 利用fft2計算二維卷積 利用fft2函數(shù)可以計算二維卷積,如: a=[8,1,6;3,5,7;4,9,2]; b=[1,1,1;1,1,1;1,1,1]; a(8,8)=0; b(8,8)=0; c=ifft2(fft2(a).*fft2(b)); c=c(1:5,1:5); 利用conv2(二維卷積函數(shù))校驗, 如: a=[8,1,6;3,5,7;4,9,2]; b=[1,1,1;1,1,1;1,1,1]; c=conv2(a,b); 四 模擬噪聲生成函數(shù)和預(yù)定義濾波器 1 imnoise imnoise函數(shù)用于對圖像生成模擬噪聲,如: i=imread('e:\w01.tif'); j=imnoise(i,'gaussian',0,0.02);%模擬高斯噪聲 2 fspecial fspecial函數(shù)用于產(chǎn)生預(yù)定義濾波器,如: h=fspecial('sobel');%sobel水平邊緣增強濾波器 h=fspecial('gaussian');%高斯低通濾波器 h=fspecial('laplacian');%拉普拉斯濾波器 h=fspecial('log');%高斯拉普拉斯(LoG)濾波器 h=fspecial('average');%均值濾波器 五 圖像的增強 1 直方圖 imhist函數(shù)用于數(shù)字圖像的直方圖顯示,如: i=imread('e:\w01.tif'); imhist(i); 2 直方圖均化 histeq函數(shù)用于數(shù)字圖像的直方圖均化,如: i=imread('e:\w01.tif'); j=histeq(i); 3 對比度調(diào)整 imadjust函數(shù)用于數(shù)字圖像的對比度調(diào)整,如: i=imread('e:\w01.tif'); j=imadjust(i,[0.3,0.7],[]); 4 對數(shù)變換 log函數(shù)用于數(shù)字圖像的對數(shù)變換,如: i=imread('e:\w01.tif'); j=double(i); k=log(j); 5 基于卷積的圖像濾波函數(shù) filter2函數(shù)用于圖像濾波,如: i=imread('e:\w01.tif'); h=[1,2,1;0,0,0;-1,-2,-1]; j=filter2(h,i); 6 線性濾波 利用二維卷積conv2濾波, 如: i=imread('e:\w01.tif'); h=[1,1,1;1,1,1;1,1,1]; h=h/9; j=conv2(i,h); 7 中值濾波 medfilt2函數(shù)用于圖像的中值濾波,如: i=imread('e:\w01.tif'); j=medfilt2(i); 8 銳化 (1)利用Sobel算子銳化圖像, 如: i=imread('e:\w01.tif'); h=[1,2,1;0,0,0;-1,-2,-1];%Sobel算子 j=filter2(h,i); (2)利用拉氏算子銳化圖像, 如: i=imread('e:\w01.tif'); j=double(i); h=[0,1,0;1,-4,0;0,1,0];%拉氏算子 k=conv2(j,h,'same'); m=j-k; 六 舉例 二維傅立葉變換和二維傅立葉反變換: i=imread('e:\w01.tif'); figure(1); imshow(i); colorbar; j=fft2(i); k=fftshift(j); figure(2); l=log(abs(k)); imshow(l,[]); colorbar n=ifft2(j)/255; figure(3); imshow(n); colorbar;
- Matlab中圖像函數(shù)大全
- 圖像增強
- 1. 直方圖均衡化的 Matlab 實現(xiàn)
1.1 imhist 函數(shù) 功能:計算和顯示圖像的色彩直方圖 格式:imhist(I,n) imhist(X,map) 說明:imhist(I,n) 其中,n 為指定的灰度級數(shù)目,缺省值為256;imhist(X,map) 就算和顯示索引色圖像 X 的直方圖,map 為調(diào)色板。用
- stem(x,counts) 同樣可以顯示直方圖。
1.2 imcontour 函數(shù) 功能:顯示圖像的等灰度值圖 格式:imcontour(I,n),imcontour(I,v) 說明:n 為灰度級的個數(shù),v 是有用戶指定所選的等灰度級向量。 1.3 imadjust 函數(shù) 功能:通過直方圖變換調(diào)整對比度 格式:J=imadjust(I,[low high],[bottom top],gamma) newmap=imadjust(map,[low high],[bottom top],gamma) 說明:J=imadjust(I,[low high],[bottom top],gamma) 其中,gamma 為校正量r,[low high] 為原圖像中要變換的灰度范圍,[bottom top]
- 指定了變換后的灰度范圍;newmap=imadjust(map,[low high],[bottom top],gamma) 調(diào)整索引色圖像的調(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,...) 返回從能將圖像 I 的灰度直方圖變換成
- 圖像 J 的直方圖的變換 T ;newmap=histeq(X,map) 和 [new,T]=histeq(X,...) 是針對索引色圖像調(diào)色板的直方圖均衡。
- 一 圖像的讀寫
- 1 imread
imread函數(shù)用于讀入各種圖像文件,如:a=imread('e:\w01.tif') 注:計算機E盤上要有w01相應(yīng)的.tif文件。 2 imwrite imwrite函數(shù)用于寫入圖像文件,如:imwrite(a,'e:\w02.tif',’tif’) 3 imfinfo imfinfo函數(shù)用于讀取圖像文件的有關(guān)信息,如:imfinfo('e:\w01.tif') 二 圖像的顯示 1 image image函數(shù)是MATLAB提供的最原始的圖像顯示函數(shù),如: a=[1,2,3,4;4,5,6,7;8,9,10,11,12]; image(a); 2 imshow imshow函數(shù)用于圖像文件的顯示,如: i=imread('e:\w01.tif'); imshow(i); 3 colorbar colorbar函數(shù)用顯示圖像的顏色條,如: i=imread('e:\w01.tif'); imshow(i); colorbar; 4 figure figure函數(shù)用于設(shè)定圖像顯示窗口,如:figure(1); /figure(2); 三 圖像的變換
1 fft2 fft2函數(shù)用于數(shù)字圖像的二維傅立葉變換,如: i=imread('e:\w01.tif'); j=fft2(i); 2 ifft2 ifft2函數(shù)用于數(shù)字圖像的二維傅立葉反變換,如: i=imread('e:\w01.tif'); j=fft2(i); k=ifft2(j); 3 利用fft2計算二維卷積 利用fft2函數(shù)可以計算二維卷積,如: a=[8,1,6;3,5,7;4,9,2]; b=[1,1,1;1,1,1;1,1,1]; a(8,8)=0; b(8,8)=0; c=ifft2(fft2(a).*fft2(b)); c=c(1:5,1:5); 利用conv2(二維卷積函數(shù))校驗, 如: a=[8,1,6;3,5,7;4,9,2]; b=[1,1,1;1,1,1;1,1,1]; c=conv2(a,b); 四 模擬噪聲生成函數(shù)和預(yù)定義濾波器 1 imnoise imnoise函數(shù)用于對圖像生成模擬噪聲,如: i=imread('e:\w01.tif'); j=imnoise(i,'gaussian',0,0.02);%模擬高斯噪聲 2 fspecial fspecial函數(shù)用于產(chǎn)生預(yù)定義濾波器,如: h=fspecial('sobel');%sobel水平邊緣增強濾波器 h=fspecial('gaussian');%高斯低通濾波器 h=fspecial('laplacian');%拉普拉斯濾波器 h=fspecial('log');%高斯拉普拉斯(LoG)濾波器 h=fspecial('average');%均值濾波器 五 圖像的增強 1 直方圖 imhist函數(shù)用于數(shù)字圖像的直方圖顯示,如: i=imread('e:\w01.tif'); imhist(i); 2 直方圖均化 histeq函數(shù)用于數(shù)字圖像的直方圖均化,如: i=imread('e:\w01.tif'); j=histeq(i); 3 對比度調(diào)整 imadjust函數(shù)用于數(shù)字圖像的對比度調(diào)整,如: i=imread('e:\w01.tif'); j=imadjust(i,[0.3,0.7],[]); 4 對數(shù)變換 log函數(shù)用于數(shù)字圖像的對數(shù)變換,如: i=imread('e:\w01.tif'); j=double(i); k=log(j); 5 基于卷積的圖像濾波函數(shù) filter2函數(shù)用于圖像濾波,如: i=imread('e:\w01.tif'); h=[1,2,1;0,0,0;-1,-2,-1]; j=filter2(h,i); 6 線性濾波 利用二維卷積conv2濾波, 如: i=imread('e:\w01.tif'); h=[1,1,1;1,1,1;1,1,1]; h=h/9; j=conv2(i,h); 7 中值濾波 medfilt2函數(shù)用于圖像的中值濾波,如: i=imread('e:\w01.tif'); j=medfilt2(i); 8 銳化 (1)利用Sobel算子銳化圖像, 如: i=imread('e:\w01.tif'); h=[1,2,1;0,0,0;-1,-2,-1];%Sobel算子 j=filter2(h,i); (2)利用拉氏算子銳化圖像, 如: i=imread('e:\w01.tif'); j=double(i); h=[0,1,0;1,-4,0;0,1,0];%拉氏算子 k=conv2(j,h,'same'); m=j-k; 六 舉例 二維傅立葉變換和二維傅立葉反變換: i=imread('e:\w01.tif'); figure(1); imshow(i); colorbar; j=fft2(i); k=fftshift(j); figure(2); l=log(abs(k)); imshow(l,[]); colorbar n=ifft2(j)/255; figure(3); imshow(n); colorbar;
- Matlab中圖像函數(shù)大全
- 圖像增強
- 1. 直方圖均衡化的 Matlab 實現(xiàn)
1.1 imhist 函數(shù) 功能:計算和顯示圖像的色彩直方圖 格式:imhist(I,n) imhist(X,map) 說明:imhist(I,n) 其中,n 為指定的灰度級數(shù)目,缺省值為256;imhist(X,map) 就算和顯示索引色圖像 X 的直方圖,map 為調(diào)色板。用
- stem(x,counts) 同樣可以顯示直方圖。
1.2 imcontour 函數(shù) 功能:顯示圖像的等灰度值圖 格式:imcontour(I,n),imcontour(I,v) 說明:n 為灰度級的個數(shù),v 是有用戶指定所選的等灰度級向量。 1.3 imadjust 函數(shù) 功能:通過直方圖變換調(diào)整對比度 格式:J=imadjust(I,[low high],[bottom top],gamma) newmap=imadjust(map,[low high],[bottom top],gamma) 說明:J=imadjust(I,[low high],[bottom top],gamma) 其中,gamma 為校正量r,[low high] 為原圖像中要變換的灰度范圍,[bottom top]
- 指定了變換后的灰度范圍;newmap=imadjust(map,[low high],[bottom top],gamma) 調(diào)整索引色圖像的調(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,...) 返回從能將圖像 I 的灰度直方圖變換成
- 圖像 J 的直方圖的變換 T ;newmap=histeq(X,map) 和 [new,T]=histeq(X,...) 是針對索引色圖像調(diào)色板的直方圖均衡。
- 一 圖像的讀寫
- 1 imread
imread函數(shù)用于讀入各種圖像文件,如:a=imread('e:\w01.tif') 注:計算機E盤上要有w01相應(yīng)的.tif文件。 2 imwrite imwrite函數(shù)用于寫入圖像文件,如:imwrite(a,'e:\w02.tif',’tif’) 3 imfinfo imfinfo函數(shù)用于讀取圖像文件的有關(guān)信息,如:imfinfo('e:\w01.tif') 二 圖像的顯示 1 image image函數(shù)是MATLAB提供的最原始的圖像顯示函數(shù),如: a=[1,2,3,4;4,5,6,7;8,9,10,11,12]; image(a); 2 imshow imshow函數(shù)用于圖像文件的顯示,如: i=imread('e:\w01.tif'); imshow(i); 3 colorbar colorbar函數(shù)用顯示圖像的顏色條,如: i=imread('e:\w01.tif'); imshow(i); colorbar; 4 figure figure函數(shù)用于設(shè)定圖像顯示窗口,如:figure(1); /figure(2); 三 圖像的變換
1 fft2 fft2函數(shù)用于數(shù)字圖像的二維傅立葉變換,如: i=imread('e:\w01.tif'); j=fft2(i); 2 ifft2 ifft2函數(shù)用于數(shù)字圖像的二維傅立葉反變換,如: i=imread('e:\w01.tif'); j=fft2(i); k=ifft2(j); 3 利用fft2計算二維卷積 利用fft2函數(shù)可以計算二維卷積,如: a=[8,1,6;3,5,7;4,9,2]; b=[1,1,1;1,1,1;1,1,1]; a(8,8)=0; b(8,8)=0; c=ifft2(fft2(a).*fft2(b)); c=c(1:5,1:5); 利用conv2(二維卷積函數(shù))校驗, 如: a=[8,1,6;3,5,7;4,9,2]; b=[1,1,1;1,1,1;1,1,1]; c=conv2(a,b); 四 模擬噪聲生成函數(shù)和預(yù)定義濾波器 1 imnoise imnoise函數(shù)用于對圖像生成模擬噪聲,如: i=imread('e:\w01.tif'); j=imnoise(i,'gaussian',0,0.02);%模擬高斯噪聲 2 fspecial fspecial函數(shù)用于產(chǎn)生預(yù)定義濾波器,如: h=fspecial('sobel');%sobel水平邊緣增強濾波器 h=fspecial('gaussian');%高斯低通濾波器 h=fspecial('laplacian');%拉普拉斯濾波器 h=fspecial('log');%高斯拉普拉斯(LoG)濾波器 h=fspecial('average');%均值濾波器 五 圖像的增強 1 直方圖 imhist函數(shù)用于數(shù)字圖像的直方圖顯示,如: i=imread('e:\w01.tif'); imhist(i); 2 直方圖均化 histeq函數(shù)用于數(shù)字圖像的直方圖均化,如: i=imread('e:\w01.tif'); j=histeq(i); 3 對比度調(diào)整 imadjust函數(shù)用于數(shù)字圖像的對比度調(diào)整,如: i=imread('e:\w01.tif'); j=imadjust(i,[0.3,0.7],[]); 4 對數(shù)變換 log函數(shù)用于數(shù)字圖像的對數(shù)變換,如: i=imread('e:\w01.tif'); j=double(i); k=log(j); 5 基于卷積的圖像濾波函數(shù) filter2函數(shù)用于圖像濾波,如: i=imread('e:\w01.tif'); h=[1,2,1;0,0,0;-1,-2,-1]; j=filter2(h,i); 6 線性濾波 利用二維卷積conv2濾波, 如: i=imread('e:\w01.tif'); h=[1,1,1;1,1,1;1,1,1]; h=h/9; j=conv2(i,h); 7 中值濾波 medfilt2函數(shù)用于圖像的中值濾波,如: i=imread('e:\w01.tif'); j=medfilt2(i); 8 銳化 (1)利用Sobel算子銳化圖像, 如: i=imread('e:\w01.tif'); h=[1,2,1;0,0,0;-1,-2,-1];%Sobel算子 j=filter2(h,i); (2)利用拉氏算子銳化圖像, 如: i=imread('e:\w01.tif'); j=double(i); h=[0,1,0;1,-4,0;0,1,0];%拉氏算子 k=conv2(j,h,'same'); m=j-k; 六 舉例 二維傅立葉變換和二維傅立葉反變換: i=imread('e:\w01.tif'); figure(1); imshow(i); colorbar; j=fft2(i); k=fftshift(j); figure(2); l=log(abs(k)); imshow(l,[]); colorbar n=ifft2(j)/255; figure(3); imshow(n); colorbar;
- Matlab中圖像函數(shù)大全
- 圖像增強
- 1. 直方圖均衡化的 Matlab 實現(xiàn)
1.1 imhist 函數(shù) 功能:計算和顯示圖像的色彩直方圖 格式:imhist(I,n) imhist(X,map) 說明:imhist(I,n) 其中,n 為指定的灰度級數(shù)目,缺省值為256;imhist(X,map) 就算和顯示索引色圖像 X 的直方圖,map 為調(diào)色板。用
- stem(x,counts) 同樣可以顯示直方圖。
1.2 imcontour 函數(shù) 功能:顯示圖像的等灰度值圖 格式:imcontour(I,n),imcontour(I,v) 說明:n 為灰度級的個數(shù),v 是有用戶指定所選的等灰度級向量。 1.3 imadjust 函數(shù) 功能:通過直方圖變換調(diào)整對比度 格式:J=imadjust(I,[low high],[bottom top],gamma) newmap=imadjust(map,[low high],[bottom top],gamma) 說明:J=imadjust(I,[low high],[bottom top],gamma) 其中,gamma 為校正量r,[low high] 為原圖像中要變換的灰度范圍,[bottom top]
- 指定了變換后的灰度范圍;newmap=imadjust(map,[low high],[bottom top],gamma) 調(diào)整索引色圖像的調(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,...) 返回從能將圖像 I 的灰度直方圖變換成
- 圖像 J 的直方圖的變換 T ;newmap=histeq(X,map) 和 [new,T]=histeq(X,...) 是針對索引色圖像調(diào)色板的直方圖均衡。
- 一 圖像的讀寫
- 1 imread
imread函數(shù)用于讀入各種圖像文件,如:a=imread('e:\w01.tif') 注:計算機E盤上要有w01相應(yīng)的.tif文件。 2 imwrite imwrite函數(shù)用于寫入圖像文件,如:imwrite(a,'e:\w02.tif',’tif’) 3 imfinfo imfinfo函數(shù)用于讀取圖像文件的有關(guān)信息,如:imfinfo('e:\w01.tif') 二 圖像的顯示 1 image image函數(shù)是MATLAB提供的最原始的圖像顯示函數(shù),如: a=[1,2,3,4;4,5,6,7;8,9,10,11,12]; image(a); 2 imshow imshow函數(shù)用于圖像文件的顯示,如: i=imread('e:\w01.tif'); imshow(i); 3 colorbar colorbar函數(shù)用顯示圖像的顏色條,如: i=imread('e:\w01.tif'); imshow(i); colorbar; 4 figure figure函數(shù)用于設(shè)定圖像顯示窗口,如:figure(1); /figure(2); 三 圖像的變換
1 fft2 fft2函數(shù)用于數(shù)字圖像的二維傅立葉變換,如: i=imread('e:\w01.tif'); j=fft2(i); 2 ifft2 ifft2函數(shù)用于數(shù)字圖像的二維傅立葉反變換,如: i=imread('e:\w01.tif'); j=fft2(i); k=ifft2(j); 3 利用fft2計算二維卷積 利用fft2函數(shù)可以計算二維卷積,如: a=[8,1,6;3,5,7;4,9,2]; b=[1,1,1;1,1,1;1,1,1]; a(8,8)=0; b(8,8)=0; c=ifft2(fft2(a).*fft2(b)); c=c(1:5,1:5); 利用conv2(二維卷積函數(shù))校驗, 如: a=[8,1,6;3,5,7;4,9,2]; b=[1,1,1;1,1,1;1,1,1]; c=conv2(a,b); 四 模擬噪聲生成函數(shù)和預(yù)定義濾波器 1 imnoise imnoise函數(shù)用于對圖像生成模擬噪聲,如: i=imread('e:\w01.tif'); j=imnoise(i,'gaussian',0,0.02);%模擬高斯噪聲 2 fspecial fspecial函數(shù)用于產(chǎn)生預(yù)定義濾波器,如: h=fspecial('sobel');%sobel水平邊緣增強濾波器 h=fspecial('gaussian');%高斯低通濾波器 h=fspecial('laplacian');%拉普拉斯濾波器 h=fspecial('log');%高斯拉普拉斯(LoG)濾波器 h=fspecial('average');%均值濾波器 五 圖像的增強 1 直方圖 imhist函數(shù)用于數(shù)字圖像的直方圖顯示,如: i=imread('e:\w01.tif'); imhist(i); 2 直方圖均化 histeq函數(shù)用于數(shù)字圖像的直方圖均化,如: i=imread('e:\w01.tif'); j=histeq(i); 3 對比度調(diào)整 imadjust函數(shù)用于數(shù)字圖像的對比度調(diào)整,如: i=imread('e:\w01.tif'); j=imadjust(i,[0.3,0.7],[]); 4 對數(shù)變換 log函數(shù)用于數(shù)字圖像的對數(shù)變換,如: i=imread('e:\w01.tif'); j=double(i); k=log(j); 5 基于卷積的圖像濾波函數(shù) filter2函數(shù)用于圖像濾波,如: i=imread('e:\w01.tif'); h=[1,2,1;0,0,0;-1,-2,-1]; j=filter2(h,i); 6 線性濾波 利用二維卷積conv2濾波, 如: i=imread('e:\w01.tif'); h=[1,1,1;1,1,1;1,1,1]; h=h/9; j=conv2(i,h); 7 中值濾波 medfilt2函數(shù)用于圖像的中值濾波,如: i=imread('e:\w01.tif'); j=medfilt2(i); 8 銳化 (1)利用Sobel算子銳化圖像, 如: i=imread('e:\w01.tif'); h=[1,2,1;0,0,0;-1,-2,-1];%Sobel算子 j=filter2(h,i); (2)利用拉氏算子銳化圖像, 如: i=imread('e:\w01.tif'); j=double(i); h=[0,1,0;1,-4,0;0,1,0];%拉氏算子 k=conv2(j,h,'same'); m=j-k; 六 舉例 二維傅立葉變換和二維傅立葉反變換: i=imread('e:\w01.tif'); figure(1); imshow(i); colorbar; j=fft2(i); k=fftshift(j); figure(2); l=log(abs(k)); imshow(l,[]); colorbar n=ifft2(j)/255; figure(3); imshow(n); colorbar;
- Matlab中圖像函數(shù)大全
- 圖像增強
- 1. 直方圖均衡化的 Matlab 實現(xiàn)
1.1 imhist 函數(shù) 功能:計算和顯示圖像的色彩直方圖 格式:imhist(I,n) imhist(X,map) 說明:imhist(I,n) 其中,n 為指定的灰度級數(shù)目,缺省值為256;imhist(X,map) 就算和顯示索引色圖像 X 的直方圖,map 為調(diào)色板。用
- stem(x,counts) 同樣可以顯示直方圖。
1.2 imcontour 函數(shù) 功能:顯示圖像的等灰度值圖 格式:imcontour(I,n),imcontour(I,v) 說明:n 為灰度級的個數(shù),v 是有用戶指定所選的等灰度級向量。 1.3 imadjust 函數(shù) 功能:通過直方圖變換調(diào)整對比度 格式:J=imadjust(I,[low high],[bottom top],gamma) newmap=imadjust(map,[low high],[bottom top],gamma) 說明:J=imadjust(I,[low high],[bottom top],gamma) 其中,gamma 為校正量r,[low high] 為原圖像中要變換的灰度范圍,[bottom top]
- 指定了變換后的灰度范圍;newmap=imadjust(map,[low high],[bottom top],gamma) 調(diào)整索引色圖像的調(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,...) 返回從能將圖像 I 的灰度直方圖變換成
- 圖像 J 的直方圖的變換 T ;newmap=histeq(X,map) 和 [new,T]=histeq(X,...) 是針對索引色圖像調(diào)色板的直方圖均衡。
|