matlab實(shí)驗(yàn) 圖像的基本運(yùn)算

上傳人:痛*** 文檔編號(hào):118605433 上傳時(shí)間:2022-07-12 格式:DOC 頁(yè)數(shù):20 大小:4.08MB
收藏 版權(quán)申訴 舉報(bào) 下載
matlab實(shí)驗(yàn) 圖像的基本運(yùn)算_第1頁(yè)
第1頁(yè) / 共20頁(yè)
matlab實(shí)驗(yàn) 圖像的基本運(yùn)算_第2頁(yè)
第2頁(yè) / 共20頁(yè)
matlab實(shí)驗(yàn) 圖像的基本運(yùn)算_第3頁(yè)
第3頁(yè) / 共20頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《matlab實(shí)驗(yàn) 圖像的基本運(yùn)算》由會(huì)員分享,可在線閱讀,更多相關(guān)《matlab實(shí)驗(yàn) 圖像的基本運(yùn)算(20頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、實(shí)驗(yàn)四、圖像的基本運(yùn)算 1(1)選擇一幅圖像lena8.jpg,設(shè)置輸入/輸出變換的灰度級(jí)范圍,a=0.3,b=0.6,c=0.1,d=0.9 (2)設(shè)置非線性擴(kuò)展函數(shù)的參數(shù)c=2 (3)采用灰度倒置變換函數(shù)s=255-r進(jìn)行圖像變換 (4)設(shè)置二值化圖像的閾值,分別為level=0.4,level=0.7 程序如下 I=imread('C:\lena8.jpg'); figure; subplot(2,3,1); imshow(I); title('原圖'); J=imadjust(I,[0.3;0.6],[0.1;0.9]); %設(shè)置灰度變換的范圍 subp

2、lot(2,3,2); imshow(J); title('線性擴(kuò)展'); I1=double(I); %將圖像轉(zhuǎn)換為double類型 I2=I1/255; %歸一化此圖像 C=2; K=C*log(1+I2); %求圖像的對(duì)數(shù)變換 subplot(2,3,3); imshow(K); title('非線性擴(kuò)展'); M=im2bw(I,0.5); M=~M; %M=255-I; %將此圖

3、像取反 %Figure subplot(2,3,4); imshow(M); title('灰度倒置'); N1=im2bw(I,0.4); %將此圖像二值化,閾值為0.4 N2=im2bw(I,0.7); %將此圖像二值化,閾值為0.7 subplot(2,3,5); imshow(N1); title('二值化閾值0.4'); subplot(2,3,6); imshow(N2); title('二值化閾值0.7'); 2 選取兩幅大小一樣的灰度圖像hough.bmp和rice.bmp,將兩幅圖像進(jìn)行加法

4、運(yùn)算。 程序如下 I=imread('C:\hough.bmp'); %I=rgb2gray(I); J=imread('C:\rice.bmp'); I=im2double(I); %將圖像轉(zhuǎn)換成double型 J=im2double(J); K=I+0.3*J; %兩幅圖像相加 subplot(1,3,1); imshow(I); title('物圖'); subplot(1,3,2); imshow(J); title('背景圖'); subplot(1,3,3); imshow(K)

5、; title('相加后的圖'); imwrite(K,'C:\lena1.jpg'); 3 選取一幅混合圖像,如相加得到的圖像lenal.jpg,將混合圖像與背景圖像做減法運(yùn)算。 程序如下 A=imread('C:\lena1.jpg'); B=imread('C:\rice.bmp'); A=im2double(A); %將圖像轉(zhuǎn)換成double型 B=im2double(B); C=A-0.3*B; subplot(1,3,1); imshow(A); title('混合圖'); subplot(1,3,2); imsh

6、ow(B); title('背景圖'); subplot(1,3,3); imshow(C); title('分離后的圖'); 4 選取一幅尺寸為256x256像素的灰度圖,如rice.bmp。設(shè)置掩模模板,對(duì)于需要保留下來(lái)的區(qū)域,掩模圖像的值置為1,而需要被抑制掉的區(qū)域,掩模圖像的值置為0。 程序如下 A=imread('C:\rice.bmp'); %A=rgb2gray(A); A=im2double(A); subplot(1,2,1); imshow(A); title('原圖'); B=zeros(256,256); B(40:200,40:20

7、0)=1; K=A.*B; subplot(1,2,2); imshow(K); title('局部圖'); 5 選取一幅大小為256x256像素的圖像,如lena8.jpg. 分別將圖比例放大1.5倍,比例縮小0.7倍,非比例放大到420x384像素,非比例縮小到15x180像素。 程序如下 A=imread('C:\lena8.jpg'); Bl=imresize(A,1.5); %比例放大1.5倍,默認(rèn)采用的是最近鄰法進(jìn)行線性插值 B2=imresize (A, [420 384]); %非比例放大至420:384 Cl=imresize (A, 0 . 7

8、) ; %比例縮小0.7 倍 C1=imresize(A, 0.7) ; C2=imresize(A, [150 180]) ; %非比例縮小到150:180 figure; imshow(Bl); title('比例放大圖'); figure; imshow(B2); title('非比例放大圖'); figure; imshow(C1); title('比例縮小圖'); figure; imshow(C2); title('非比例縮小圖'); 實(shí)驗(yàn)五、圖像的變換 1 選取一幅圖像,進(jìn)行離散傅里葉變換,再對(duì)其分別進(jìn)行X軸與Y軸上的平移,得其

9、離散傅里葉變換,觀察結(jié)果圖。 程序如下 I=imread('C:\1.bmp'); %I=imread('C:\lena8.jpg'); %imshow(I); imshow(real(I)); figure(1) I=I(:,:,3); fftI=fft2(I); sfftI=fftshift(fftI); %求離散傅里葉頻譜 %對(duì)原始圖像進(jìn)行二維離散傅里葉變換,并將其坐標(biāo)原點(diǎn)移到頻譜圖中央位置 RRfdpl=real(sfftI); IIfdpl=imag(sfftI); a=sqrt(RRfdpl.^2+IIfdpl.^2); a=(a-min(m

10、in(a)))/(max(max(a))-min(min(a)))*225; figure(2); imshow(real(a)); I=imread('C:\2.bmp'); figure(3); imshow(real(I)); I=I(:,:,3); fftI=fft2(I); sfftI=fftshift (fftI) ; %求離散傅里葉頻譜 %對(duì)原始圖像進(jìn)行二維離散傅里葉變換,并將其坐標(biāo)原點(diǎn)移到頻譜圖中央位置 RRfdpl=real(sfftI); IIfdpl=imag(sfftI); a=sqrt(RRfdpl.^2+IIfdpl.^2);

11、a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225; figure(4); imshow(real (a)); I=imread('C:\3.bmp'); figure (5); imshow(real (I)); I=I(:,:,3); fftI=fft2 (I); sfftI = fftshift (fftI) ; %求離散傅里葉頻譜 %對(duì)原始圖像進(jìn)行二維離散傅里葉變換,并將其坐標(biāo)原點(diǎn)移到頻譜圖中央位置 RRfdpl=real (sfftI); IIfdpl=imag(sfftI); a=sqrt(RRfdpl.^2+I

12、Ifdpl.^2); a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225; figure(6); imshow(real(a)); 2 選取一幅圖像,進(jìn)行離散傅里葉變換,再對(duì)其進(jìn)行一定角度的旋轉(zhuǎn),進(jìn)行離散傅里葉變化。 程序如下 %構(gòu)造原始圖像 I=zeros(256,256); I(88:168,124:132)=1; %圖像范圍是256*256,前一值是縱向比,后一值是橫向比 imshow(I); %求原始圖像的傅里葉變換 J=fft2(I); F=abs(J); J1=fftshift(F);figure i

13、mshow(J1,[5 50]); %對(duì)原始圖像進(jìn)行旋轉(zhuǎn) J=imrotate(I,90,'bilinear','crop'); figure imshow(J) %求旋轉(zhuǎn)后圖像的傅里葉頻譜 J1=fft2(J); F=abs(J1); J2=fftshift(F);figure Imshow(J2,[5 50]) 3 選取一幅圖像,進(jìn)行離散余弦變換,并對(duì)其進(jìn)行離散余弦反變換,觀察其結(jié)果 程序如下 %對(duì)lena24.ipg文件計(jì)算二維DCT變換 RGB = imread('C:\lena24.jpg'); figure(1) imshow(RGB) I=

14、rgb2gray(RGB); %真彩色圖像轉(zhuǎn)換成灰度圖像 J = dct2(I); %計(jì)算二維DCT變換 figure (2) imshow(log(abs(J)),[]) %圖像大部分能量集中在上左角處 figure (3); J(abs(J) < 10) = 0; %把變換矩陣中小于10的值置換為0,然后用idct2重構(gòu)圖像 K = idct2(J)/255; imshow(K) 4 選取一幅圖像,進(jìn)行離散余弦變換,并對(duì)其進(jìn)行壓縮解壓,觀察其結(jié)果。 程序如下 RGB = imread('C:\lena24.jpg'); I=rgb2gray(RG

15、B); I = im2double(I); %轉(zhuǎn)換圖像矩陣為雙精度型 T = dctmtx(8); %產(chǎn)生二維00?變換矩陣, %矩陣T及其轉(zhuǎn)置T‘是DCT函數(shù)P1*X*P2的參數(shù) B = blkproc(I, [8 8],'P1*x*P2',T,T'); maskl= [ 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

16、 0 0 0 0 0 0 0 0 0 0 0 0 0]; %二值掩模,用來(lái)壓縮DCT系數(shù) B2=blkproc(B,[8 8],'P1.*x',maskl); %只保留DCT變換的10個(gè)系數(shù) I2=blkproc(B2,[8 8],'P1*x*P2',T',T); %重構(gòu)圖像 figure,imshow(I); figure,imshow(B2); figure,imshow(I2); 實(shí)驗(yàn)六、圖像的增強(qiáng) 1 對(duì)一幅灰度圖像進(jìn)行冪次變換。 程序如下 clear all close all I{1}=double(imread('

17、C:\lena8.jpg')); I{1}=I{1}/255; figure(1),subplot(2,4,1),imshow(I{1}, []),hold on I{2}=double(imread('C:\lena1.jpg')); I{2}=I{2}/255; subplot(2,4,5),imshow(I{2}, []),hold on for m=1:2 Index=0; for lemta=[0.5 5] Index=Index+1; F{m}{Index}=I{m}.^lemta; subplot (2,4,(m-1)*4+Index+1) , im

18、show(F{m}{Index},[]) end end 2 對(duì)一幅灰度圖像采用兩種目標(biāo)直方圖來(lái)規(guī)定化。 程序如下 clear all close all %0.讀圖像 I=double(imread('C:\lena8.jpg')); figure, imshow (I,[]) N=32; Hist_image=hist (I(:),N) ; %直方圖 Hist_image=Hist_image/sum (Hist_image); Hist_image_cumulation=cumsum(Hist_image); %累計(jì)直方圖 figure,

19、 stem([0:N-1] ,Hist_image) ; %1.設(shè)計(jì)目標(biāo)直方圖 Index=0:N-1; Index=0:7; %正態(tài)分布直方圖 Hist{1}=exp(-(Index-4).^2/8); Hist{1}=Hist{1}/sum(Hist{1}); Hist_cumulation{1}=cumsum(Hist{1}); figure, stem([0:7],Hist{1}) %倒三角形狀直方圖 Hist{2}=abs(15-2*Index); Hist{2}=Hist{2}/sum(Hist{2}); Hist_cumulation{2}=cum

20、sum(Hist{2}); figure, stem([0:7],Hist{2}) %2.規(guī)定化處理 for m=1:2 Image=I; %2.1 SML處理 for k=1:N Temp=abs(Hist_image_cumulation(k)-Hist_cumulation{m}); [Tempi,Project{m}(k)]=min(Temp); end %2.2變換后直方圖 for k=1:N Temp=find(Project{m}==k); if isempty(Temp) Hist_result{m}(k)=0; else Hi

21、stresult{m}(k)=sum(Hist_image(Temp)); end end figure, stem([0:31],Hist_result{m}); %2.3結(jié)果圖 Step=256/N; for k=1:N Index=find(I>=Step*(k-1)&I

22、C:\lena8.jpg')); figure,imshow(I,[]); % 1.均值低通濾波 H=fspecial('average',5); F{1}=double(filter2(H,I)); figure,imshow(F{1},[]); % 2 . gaussian低通濾波 H=fspecial('gaussian',7,3); F{2}=double(filter2(H,I)); figure,imshow(F{2},[]); % 3.增強(qiáng)圖像-原圖-均值低通濾波 F{3}=2*I-F{1}; figure,imshow(uint8 (F{3}),

23、[]); % 4.增強(qiáng)圖像=原圖-高斯低通濾波 F{4}=2*I-F{2}; figure,imshow(uint8 (F{4}),[]); %5. ‘prewitt’邊緣算子增強(qiáng) H=fspecial('prewitt'); F{ 5}=uint8(I+filter2(H,I)); figure,imshow(F{5},[]); %6. ‘sobel’邊緣算子增強(qiáng) H=fspecial('sobel'); F{6}=uint8(I + filter2(H,I)); figure,imshow(F{6},[]); 實(shí)驗(yàn)7、圖像的復(fù)原 1 對(duì)一幅灰度圖像添加

24、噪聲并濾波。 程序如下 clear; close all; %1.生成含噪圖像 img = imread('C:\lena8.bmp'); figure; imshow(img); img =double(imnoise(img,'salt & pepper', 0.01)); figure,imshow(img,[]); %2.采用均值濾波 N=5; %濾波模板大小 h=fspecial('average',N); I=filter2(h,img); figure,imshow(I,[]) %3.中值濾波 I=medfilt2(img,[

25、N N]); figure,imshow(I,[]) %4.最大值濾波 I=ordfilt2(img,N*N,true(N)); figure,imshow(I,[]) %5.最小值濾波 I=ordfilt2(img,1,true(N)); figure,imshow(I,[]) 2 對(duì)沿X軸方向的紋波加性噪聲進(jìn)行陷波濾波。 程序如下 close all clear all %1.生成波紋噪聲圖像 img = double(imread('C:\lena8.bmp')); figure; imshow(img,[]); sizec=size(img

26、); w=0.4*2*pi; %噪聲的數(shù)字頻率 N=2*pi/w; %噪聲每一周期的采樣點(diǎn)數(shù) img_noise=img+20*ones(sizec(1),1)*sin(w*[1:sizec(2)]); figure,imshow(img_noise,[]); %圖像頻譜 F0=fft2(img); F0=fftshift(F0); figure,imshow(log(abs(F0)),[]); F=fft2(img_noise); F=fftshift(F); figure,imshow(log(abs(F)),[]); %2.設(shè)計(jì)理想陷波濾波器 H=ones(sizec(1),sizec(2)); %圖像中心點(diǎn) x0=sizec(1)/2+1; y0=sizec(2)/2+1; %噪聲所處頻率點(diǎn)(x,y) x=x0; y=y0-round(sizec(2)/N); H (x,y-3:y+3)=0; H(x,(y0-y)+y0-3:(y0-y)+y0+3)=0; %3.濾波結(jié)果 I=ifftshift(F.*H); imgl=ifft2(I); figure; imshow(imgl,[]);

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!