圖像變換實(shí)驗(yàn)_第1頁
圖像變換實(shí)驗(yàn)_第2頁
圖像變換實(shí)驗(yàn)_第3頁
圖像變換實(shí)驗(yàn)_第4頁
圖像變換實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

數(shù)字圖像處理實(shí)驗(yàn)報(bào)告1-圖像變換學(xué)生姓名:學(xué)號(hào):實(shí)驗(yàn)時(shí)間:地點(diǎn):指導(dǎo)教師:實(shí)驗(yàn)名稱:圖像變換試驗(yàn)?zāi)康模夯贛ATLAB的實(shí)驗(yàn)驗(yàn)證。通過在MATLAB環(huán)境中相關(guān)函數(shù)的調(diào)用,驗(yàn)證圖像變換和圖像頻域處理效果,增強(qiáng)感性認(rèn)識(shí)?;贑語言的基本圖像處理。通過編寫C++程序,進(jìn)一步理解算法的實(shí)現(xiàn)過程,為在實(shí)際應(yīng)用軟件中的應(yīng)用打下基礎(chǔ)。實(shí)驗(yàn)內(nèi)容:MATLAB函數(shù)的直接調(diào)用通過在MATLAB環(huán)境中相關(guān)函數(shù)的調(diào)用,驗(yàn)證傅立葉變換、DCT變換和小波變換的結(jié)果,并通過反變換恢復(fù)原圖像。對(duì)’flower.tif’圖片進(jìn)行傅立葉變換,繪制原始圖像和變換后的頻譜圖。對(duì)’flower.tif’圖片進(jìn)行DCT變換,繪制原始圖像和變換后的頻譜圖。對(duì)’flower.tif’圖片進(jìn)行一層小波變換和反變換,繪制原始圖像和重建后的圖像,以及小波分解后的4個(gè)子圖注意:可以采用colormap(‘gray’)來設(shè)置灰色圖像的繪制。提升小波變換實(shí)驗(yàn)驗(yàn)證圖像的提升小波變換。編寫小波變換程序,實(shí)現(xiàn)圖像的變換和反變換。完成:圖像的讀?。惶嵘〔ㄗ儞Q、逆變換原圖像和重建圖像的顯示、比較。編寫VC++程序,讀取flower.yuv的圖像幀,將圖彩色圖像變?yōu)榛叶葓D像,然后對(duì)圖像像素做線性變換g(i)=af(i)+b。i為任意像素序號(hào),a,b為實(shí)數(shù)。將a,b取不同值,顯示變換前、后的畫面。例如a=-1,b=255;a=0.5,b=128等。實(shí)驗(yàn)記錄與結(jié)果分析:①第一步:對(duì)于第一個(gè)實(shí)驗(yàn)先產(chǎn)生一個(gè)tif格式的灰度圖像,在這里采用微軟window系統(tǒng)中的圖像并進(jìn)行灰度圖像化來產(chǎn)生。(程序詳見附錄1.1)結(jié)果如下:灰度圖像是原圖像的一個(gè)截取,防止像素太大處理速度變慢。(畢竟這是一次試驗(yàn))原圖:灰度圖:第二步:對(duì)’flower.tif’圖片進(jìn)行傅立葉變換,繪制原始圖像和變換后的頻譜圖。然后再將傅里葉變換后的頻譜搬移,最后將三張圖像畫在一張圖像中。(程序代碼詳見附錄1.2)第三步:對(duì)’flower.tif’圖片進(jìn)行DCT變換,繪制原始圖像和變換后的頻譜圖。并將兩張圖像畫在一幅圖當(dāng)中。(程序詳見附錄1.3)由此可見高頻分量全都集中在頻譜的左上角,低頻分量都集中在頻譜圖的右下角,這樣便于圖像的壓縮。第四步:對(duì)’flower.tif’圖片進(jìn)行一層小波變換和反變換,繪制原始圖像和重建后的圖像,以及小波分解后的4個(gè)子圖,并畫出圖像。(程序詳細(xì)代碼見附錄1.4)原圖像:小波逆變換后的圖像:對(duì)小波變換后的圖像進(jìn)行量化變化編碼后的各頻率分量如下(左)圖:將量化編碼后的圖像顯示在一張圖上有上(右)圖由此可見圖像被較好地壓縮。(2)提升小波變換實(shí)驗(yàn)驗(yàn)證圖像的提升小波變換。實(shí)現(xiàn)圖像的變換和反變換。通過分裂、預(yù)測、更新三個(gè)步驟實(shí)現(xiàn)小波的正變換與反變換。(程序詳見附錄2)正變換:反變換:(3)編寫VC++程序,讀取flower.yuv的圖像幀,將圖彩色圖像變?yōu)榛叶葓D像,然后對(duì)圖像像素做線性變換g(i)=255-f(i)。(試驗(yàn)程序詳見附錄3)處理前的圖像:處理后的圖像:由此可見對(duì)圖像進(jìn)行了反色的線性變換。實(shí)驗(yàn)總結(jié)本次實(shí)驗(yàn)可謂是收貨頗多,我不僅學(xué)會(huì)了用matlab簡單的處理數(shù)字圖像,還會(huì)用c語言創(chuàng)建exe軟件了并且能自己做一些簡單的圖像處理并把它做成想要的軟件,如果再加以學(xué)習(xí),就可以成功的編出像Photoshop一樣的軟件,在這高速發(fā)展的社會(huì)能掌握這樣的技能還是非常不錯(cuò)的。附錄(源程序等)程序1.1:I=imread('E:\電力\數(shù)字圖像處理\實(shí)驗(yàn)\實(shí)驗(yàn)一\flower.jpg');%從相應(yīng)文件夾讀出要使用的圖片%T=rgb2gray(I);%將該圖片變換成灰度值圖像%imshow(T)%顯示該圖像并保存%程序1.2:I=imread('E:\電力\數(shù)字圖像處理\實(shí)驗(yàn)\實(shí)驗(yàn)一\flower.tif');%從相應(yīng)文件夾讀出要使用的圖片%F1=fft2(I);%進(jìn)行二維快速傅里葉變換F2=fftshift(F1);%將中心頻譜搬移至圖像中間%======畫圖在一種圖形中顯示出來=====%subplot(131)imshow(I);subplot(132)imshow(log(abs(F1)/3000+1));subplot(133)imshow(log(abs(F2)/3000+1));程序1.3:J=imread('E:\電力\數(shù)字圖像處理\實(shí)驗(yàn)\實(shí)驗(yàn)一\flower.tif');I=rgb2gray(J);%從相應(yīng)文件夾讀出要使用的圖片%DC=dct2(I);%進(jìn)行DCT變換%====畫圖顯示====%subplot(121)imshow(I);subplot(122)imshow(log(abs(DC)/25+1));程序1.4:%從相應(yīng)文件夾讀出要使用的圖片%i=imread('E:\電力\數(shù)字圖像處理\實(shí)驗(yàn)\實(shí)驗(yàn)一\flower.tif');I=rgb2gray(i);%進(jìn)行小波分解[cA1,cH1,cV1,cD1]=dwt2(I,'bior3.7');%對(duì)小波分解的各個(gè)圖像進(jìn)行重構(gòu)A1=upcoef2('a',cA1,'bior3.7',1);H1=upcoef2('h',cH1,'bior3.7',1);V1=upcoef2('v',cV1,'bior3.7',1);D1=upcoef2('d',cD1,'bior3.7',1);%對(duì)重構(gòu)的圖像進(jìn)行量化編碼figure;imshow(I);nbcol=size(I,1);cod_I=wcodemat(I,nbcol);cod_cA1=wcodemat(cA1,nbcol);cod_cH1=wcodemat(cH1,nbcol);cod_cV1=wcodemat(cV1,nbcol);cod_cD1=wcodemat(cD1,nbcol);%對(duì)于重構(gòu)圖像畫出其圖形figure;subplot(221);imshow(cod_cA1/120);title('近似圖像(平滑圖像)');subplot(222);imshow(cod_cH1/120);title('水平細(xì)節(jié)圖像');subplot(223);imshow(cod_cV1/120);title('垂直細(xì)節(jié)圖像');subplot(224);imshow(cod_cD1/120);title('對(duì)角線細(xì)節(jié)圖像');%進(jìn)行小波逆變換,與原圖進(jìn)行比較J=idwt2(A1,H1,V1,D1,'bior3.7');J1=imresize(J,0.451);%顯示器圖像figure;imshow(J1/120);dec2d=[cod_cA1,cod_cH1;cod_cV1,cod_cD1];dec2d_1=imresize(dec2d,2);figure;imshow(dec2d_1/120);程序2%圖像的提升小波變換。編寫小波變換程序,實(shí)現(xiàn)圖像的變換和反變換。x=imread('flower.tif');g=x;[hp,lp]=size(x);%獲取圖像矩陣行列尺寸hc=hp/2;%因?yàn)槿∑媾甲兞浚詧D像行尺寸變?yōu)樵瓉硪话雔c=lp/2;%因?yàn)槿∑媾甲兞?,所以圖像列尺寸變?yōu)樵瓉硪话?以下將圖像分為奇偶列,進(jìn)行行變換%將完整的圖像矩陣列分為奇數(shù)位和偶數(shù)位子集forn=1:lcy1=n*2-1;%y1為圖像的奇數(shù)子集所在圖像矩陣的位置Y1(:,n)=x(:,y1);%將圖像奇數(shù)子集賦值給Y1Y2(:,n)=x(:,y1+1);%將圖像偶數(shù)數(shù)子集賦值給Y2end%顯示圖像的奇偶子集%調(diào)用imshow函數(shù)而不是image函數(shù),因?yàn)閕mshow函數(shù)會(huì)自動(dòng)進(jìn)行圖像校正,方便查看figure(1);subplot(2,2,1);imshow(x,[]);title('原始圖像')subplot(2,2,3);imshow(Y1,[]);title('原始圖像圖像的列奇數(shù)分量');subplot(2,2,4);imshow(Y2,[]);title('原始圖像圖像的列偶數(shù)分量');%進(jìn)行提升小波變換forn=1:lc;Y3(:,n)=Y2(:,n)-Y1(:,n);%將圖像的奇偶分量的預(yù)測殘差放入矩陣Y3內(nèi)endforn=1:lcK=Y3(:,n)/2-mod(Y3(:,n)/2,1);%對(duì)Y3(:,n)/2取整Y4(:,n)=Y1(:,n)+K;end%顯示提升小波變換結(jié)果figure(2);subplot(1,2,1);imshow(Y4,[]);title('原始圖像圖像的列提升小波變換后圖像')subplot(1,2,2);imshow(Y3,[]);title('原始圖像圖像的列奇偶分量的預(yù)測殘差');%奇偶列,進(jìn)行行變換結(jié)束%以下將上一步變換好的圖像分為奇偶行,進(jìn)行列變換x=Y4;%上一步變換好的圖像賦值給x%將以變換圖像的矩陣行分為奇數(shù)位和偶數(shù)位子集forn=1:hcx1=n*2-1;%y1為以變換圖像的奇數(shù)子集所在圖像矩陣的位置X1(n,:)=x(x1,:);%將以變換圖像奇數(shù)子集賦值給Y1X2(n,:)=x(x1+1,:);%將以變換圖像偶數(shù)數(shù)子集賦值給Y2end%顯示以變換圖像的奇偶子集figure(3);subplot(1,2,1);imshow(X1,[]);title('以變換圖像的奇數(shù)分量');subplot(1,2,2);imshow(X2,[]);%將圖像轉(zhuǎn)換為灰度圖像title('以變換圖像的偶數(shù)分量');%對(duì)以變換圖像進(jìn)行提升小波變換forn=1:hc;X3(n,:)=X2(n,:)-X1(n,:);%將以變換圖像的奇偶分量的預(yù)測殘差放入矩陣Y3內(nèi)endforn=1:hcK1=X3(n,:)/2-mod(X3(n,:)/2,1);%對(duì)Y3(:,n)/2取整,獲取圖像的更新算子X4(n,:)=X1(n,:)+K1;end%顯示對(duì)以變換圖像提升小波變換結(jié)果%調(diào)用imshow函數(shù)而不是image函數(shù),因?yàn)閕mshow函數(shù)會(huì)自動(dòng)進(jìn)行圖像校正,方便查看figure(4);subplot(1,2,1);imshow(X4,[]);title('對(duì)以變換圖像提升小波變換后的圖像')subplot(1,2,2);imshow(X3,[]);title('以變換圖像的奇偶分量的預(yù)測殘差');%奇偶行,進(jìn)行列變換結(jié)束%完整的提升小波變換結(jié)束imwrite(X4,'lena_1.tif');%將變換后的的圖像存入文件,供反變換使用%列逆變換x=imread('lena_1.tif');y=x;[hp,lp]=size(x);hc=hp/2;lc=lp/2;forn=1:hpyhe(n,:)=y(n,:)-K1;endforn=1:hpyho(n,:)=yhe(n,:)+X3(n,:);endforn=1:hp;yhe1(2*n+1,:)=yhe(n,:);yho1(2*n,:)=yho(n,:);endforn=1:512y(n,:)=yhe1(n,:)+yho1(n,:);endforn=1:lp;yle(:,n)=y(:,n)-K;endforn=1:lp;ylo(:,n)=yle(:,n)+Y3(:,n);endforn=1:lp;yle1(:,2*n+1)=yle(:,n);ylo1(:,2*n)=ylo(:,n);endforn=1:512y_end(:,n)=yle1(:,n)+ylo1(:,n);end%y=uint8(y);figure(8)subplot(1,2,1);imshow(g,[]);title('原圖');subplot(1,2,2);imshow(y_end,[]);title('逆變換后圖');程序3://xfsdDlg.cpp:implementationfile//#include"stdafx.h"#include"xfsd.h"#include"xfsdDlg.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif///////////////////////////////////////////////////////////////////////////////CXfsdDlgdialogCXfsdDlg::CXfsdDlg(CWnd*pParent/*=NULL*/) :CDialog(CXfsdDlg::IDD,pParent){ //{{AFX_DATA_INIT(CXfsdDlg) //NOTE:theClassWizardwilladdmemberinitializationhere //}}AFX_DATA_INIT //NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32 m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);}voidCXfsdDlg::DoDataExchange(CDataExchange*pDX){ CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CXfsdDlg) //NOTE:theClassWizardwilladdDDXandDDVcallshere //}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CXfsdDlg,CDialog) //{{AFX_MSG_MAP(CXfsdDlg) ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDOK,On1_flower) //}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////////CXfsdDlgmessagehandlersBOOLCXfsdDlg::OnInitDialog(){ CDialog::OnInitDialog(); //Settheiconforthisdialog.Theframeworkdoesthisautomatically //whentheapplication'smainwindowisnotadialog SetIcon(m_hIcon,TRUE); //Setbigicon SetIcon(m_hIcon,FALSE); //Setsmallicon //TODO:Addextrainitializationhere returnTRUE;//returnTRUEunlessyousetthefocustoacontrol}//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow//todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,//thisisautomaticallydoneforyoubytheframework.voidCXfsdDlg::OnPaint(){ if(IsIconic()) { CPaintDCdc(this);//devicecontextforpainting SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0); //Centericoninclientrectangle intcxIcon=GetSystemMetrics(SM_CXICON); intcyIcon=GetS

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論