版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗(shyn)名稱:圖像(t xin)的銳化處理實驗(shyn)目的學習用銳化處理技術(shù)來加強圖像的目標邊界和圖像細節(jié)。對圖像進行梯度算子、Roberts算子、Sobel算子邊緣檢測處理和Laplace算子邊緣增強處理,使圖像的某些特征(如邊緣、輪廓等)得以進一步的增強和突出。實驗內(nèi)容編寫梯度算子和Roberts算子濾波函數(shù)。編寫Sobel算子濾波函數(shù)。編寫Laplace算子邊緣增強濾波函數(shù)。觀察頻域中用高低通濾波技術(shù)對圖像進行的平滑和銳化處理。實驗方法及編程用Matlab進行編程,主要是對照著實驗書上面的算法流程圖進行代碼的編寫,主要編寫代碼如下所示:function newbuf=RobF
2、ilter(oldbuf,M,N);% *% 函數(shù)名稱: % RobFilter() % 說明:% Robert梯度濾波算法。 % *for i=1:M-1for j=1:N-1newbuf(i,j)=abs(oldbuf(i,j)-oldbuf(i+1,j+1)+abs(oldbuf(i+1,j)-oldbuf(i,j+1);endend %- function newbuf=SobFilter(oldbuf,M,N);% *% 函數(shù)名稱: % SobFilter() % 說明(shumng):% Sobel濾波(lb)算法。 % *for i=2:M-1for j=2:N-1 sx=old
3、buf(i+1,j-1)+2*oldbuf(i+1,j)+oldbuf(i+1,j+1)-oldbuf(i-1,j-1)-2*oldbuf(i-1,j)-oldbuf(i-1,j+1); sy=oldbuf(i-1,j+1)+2*oldbuf(i,j+1)+oldbuf(i+1,j+1)-oldbuf(i-1,j-1)-2*oldbuf(i,j-1)-oldbuf(i+1,j-1);newbuf(i,j)=abs(sx)+abs(sy); endend %-function newbuf=LapFilter(oldbuf,M,N);% *% 函數(shù)(hnsh)名稱: % LapFilter()
4、% 說明:% Laplace濾波算法。 % * for i=2:M-1for j=2:N-1 newbuf(i,j)=5*oldbuf(i,j)-oldbuf(i-1,j)-oldbuf(i+1,j)-oldbuf(i,j-1)-oldbuf(i,j+1); endend 實驗結(jié)果及分析(原圖像和處理后的圖像比較及分析)如上圖所示即為實驗(shyn)結(jié)果。如上圖所示Robert算子能夠檢測出原圖像的邊緣,并且顯示出來;Sobel在Robert算子的基礎(chǔ)上增強了邊緣,所以圖像上結(jié)果會顯示比原圖像邊緣要更加粗一些;Laplace算子與其他邊緣增強方法(fngf)不同,即其邊緣的增強程度和邊緣的方向
5、無關(guān),所以圖像的細節(jié)(xji)明顯比原來更加突出。實驗名稱:圖像方塊編碼實驗目的通過編程實驗,掌握方塊編碼的基本方法及壓縮性能。實驗內(nèi)容編程實現(xiàn)子塊為nxn的方塊編碼基本算法,分別取n=2,4,8方塊尺寸進行編解碼實驗,計算編碼后的均方誤差和壓縮比。實驗圖像可為任意圖像。實驗方法及編程用Matlab進行編程,主要是對照著實驗書上面的算法流程圖進行代碼的編寫,下面是主要的實驗代碼:function newbuf=BtcCode(oldbuf,M,N,n)% *% 函數(shù)(hnsh)名稱:% BtcCode() 方塊(fn kui)編碼函數(shù)% 參數(shù)(cnsh):% oldbuf 原圖像數(shù)組% M N
6、 原圖像尺寸% n 方塊尺寸% 說明:% 調(diào)用方塊編碼算法函數(shù),輸出編碼后的圖像% * newbuf=oldbuf; rowblocks=M/n; colblocks=N/n; for i=1:rowblocks-1 row=i*n; for j=1:colblocks-1 col=j*n; for i=1:n for j=1:n inbuf(i,j)=oldbuf(i+row,j+col); end end outbuf=BtcBlock(inbuf,n); for i=1:n for j=1:n newbuf(i+row,j+col)=outbuf(i,j); end end end en
7、d%- function outbuf=BtcBlock(inbuf,n)% *% 函數(shù)名稱:% btcblock() 方塊編碼算法函數(shù)% 參數(shù):% inbuf 方塊(fn kui)數(shù)組% n 方塊(fn kui)尺寸% outbuf 存放(cnfng)處理后的方塊圖像% 說明:% 把原圖像分成n*n子塊,對每個方塊的圖像數(shù)據(jù)分別計算xt,a0,a1值,再用分辨率分% 量(a0,a1)替代方塊原來的數(shù)據(jù) 最后放入方塊圖像數(shù)組中并返回該數(shù)組。% * temp=0; temp0=0; temp1=0; q=0;m=n*n; inbuf=double(inbuf);for i=1:n for j=1
8、:n temp=temp+inbuf(i,j); endendxt=temp/m;for i=1:n for j=1:n if (inbuf(i,j)=xt) q=q+1; temp1=temp1+inbuf(i,j); else temp0=temp0+inbuf(i,j); end endendif q=m a0=round(temp0/(m-q);endif q=0 a1=round(temp1/q);endfor i=1:n for j=1:n if (inbuf(i,j)1% 2_D DPCM: xi,j=128 if i=1,j=1% x i,j-1 if i=1,j1% xi-1
9、,j if i1,j=1 or N% 1/2x i,j-1 if i1,j1% 1/8xi-1,j-1 (Pirschs predictor)% 1/4xi-1,j % 1/8xi-1,j+1% Dim : Dimension of prediction% Row : vertical coordinate of current pixel to be predicted% COL : horizontal coordinate of current pixel to be predicted% *global newbuf; switch dim %預測(yc)算法編程 case 1 if
10、col=1 Pvalue=128; else Pvalue=newbuf(row,col-1); end case 2 if (row=1&col=1) Pvalue=128; end if (row=1&col1) Pvalue=newbuf(row,col-1); end if (row1&col=1)|(row1&col=N) Pvalue=newbuf(row-1,col); end if (row1&col1&colN) Pvalue=(1/2)*newbuf(row,col-1)+(1/4)*newbuf(row-1,col-1)+. (1/4)*newbuf(row-1,col+
11、1); endend%-function Qvalue=Quant_Value(err);% * % This function is used as linear quantizer.The quantizer has totally% 13 quantization level :% 0,-+7,-+16,-+27,-+38,-+51,-+66% * if (abs(err)=3) lev=0; else if(abs(err)=11) lev=7; else if(abs(err)=21) lev=16; else if(abs(err)=32) lev=27; else if(abs(
12、err)=44) lev=38; else if(abs(err)=58) lev=51; else lev=66; end; end; end; end; end; end; Qvalue = lev; if (err = 0) Qvalue = lev*(err / abs(err); end%-function Rvalue=Restor_Value(quan_err,pre_val)% *% This function is used to get restored value of DPCM% x=x+Quant_Error% * Rvalue=quan_err + pre_val;
13、 %-function Cvalue=Clip_Value(res_val)% *% This function is used to clip to restored value to 8_bit value% 0 if x255% x otherwise% * if (res_val255) Cvalue=255; else Cvalue=res_val; end;end;實驗結(jié)果(ji gu)及分析(原圖像和處理后的圖像比較及分析)如上圖所示,即為實驗所得的結(jié)果(ji gu)圖像。由實驗(shyn)結(jié)果可以看出,一維和二維預測編碼圖像非常接近原圖像;從誤碼圖像中可以看出,一維預測編碼會將
14、誤差延續(xù)到行末端,而二維預測編碼其將誤碼延續(xù)至其后的斜后方,所以二維預測編碼的誤差會偏小。實驗名稱:JPEG壓縮編碼實驗目的掌握nxn子塊的DCT圖像變換及頻譜特點。熟悉JPEG基本系統(tǒng)的圖像編解碼方法。實驗內(nèi)容編程實現(xiàn)(shxin)nxn子塊DCT變換的圖像頻譜顯示,8x8子塊DCT變換系數(shù)按“Z”掃描圖像重建,計算圖像的均方根(fnggn)誤差RMSE,顯示誤差圖像和誤差直方圖。編程實現(xiàn)JPEG壓縮編碼,進行8x8子塊的DCT圖像變換,JPEG量化矩陣的量化與反量化,8x8子塊DCT的圖像重建,計算圖像的均方根(fnggn)誤差RMSE,顯示誤差圖像和誤差直方圖。 實驗方法及編程用Matl
15、ab進行編程,主要是對照著實驗書上面的算法流程圖進行代碼的編寫,主要的代碼如下所示:function newbuf=DctBlock(oldbuf,Block)% *% 函數(shù)名稱: % DctBlock() DCT n*n 塊頻譜函數(shù)% % 參數(shù):% oldbuf 原圖像數(shù)組% Block DCT n*n 當前塊選擇值% newbuf 存放處理后的圖像二維數(shù)組% % 說明:% 根據(jù)Block塊的當前選擇值,計算原圖像的n*n塊DCT變換,并轉(zhuǎn)換為可視頻譜圖,% 有利于頻譜的觀察。 % * oldbuf=double(oldbuf);% 添加程序H=dctmtx(Block);newbuf=bl
16、kproc(oldbuf,Block Block,P1*x*P2,H,H);newbuf=log(abs(newbuf);subplot(2,2,2);imshow(newbuf,); %- function newbuf=DctCode(oldbuf,DCTch)% *% 函數(shù)名稱: % DctCode() DCT 8*8 塊系數(shù)(xsh)“Z”字掃描(somio)圖像壓縮函數(shù)% % 參數(shù)(cnsh):% oldbuf 原圖像數(shù)組% DCTch DCT 8*8 塊“Z”掃描當前系數(shù)選擇值% newbuf 存放處理后的圖像二維數(shù)組% % 說明:% 計算圖像的88子塊DCT變換,按“Z”字掃描順
17、序,根據(jù)DCTch參數(shù),只保留64個% DCT系數(shù)中的前DCTch個系數(shù),對修改后的DCT系數(shù)用逆DCT變換重建圖像,得到DCT變% 換的壓縮圖像。計算重建圖像的均方根誤差RMSE ;顯示誤差圖像和誤差直方圖。 % * zigzag=1 2 6 7 15 16 28 29 %設置z掃描順序 3 5 8 14 17 27 30 43 4 9 13 18 26 31 42 44 10 12 19 25 32 41 45 54 11 20 24 33 40 46 53 55 21 23 34 39 47 52 56 61 22 35 38 48 51 57 60 62 36 37 49 50 58
18、59 63 64; tbuf=ones(8); %定義8*8全1數(shù)組 maskbuf=tbuf .* zigzag= 1 %如果有數(shù)據(jù) s=max(h(:); subplot(2,2,3); %imshow(hist); bar(x,h/s,k); %顯示圖像差值直方圖 RMSE = num2str(RMSE); %把數(shù)值轉(zhuǎn)換為字符串 strRMSE = strcat(圖像差值直方圖 均方根誤差RMSE= ,RMSE); %把多個串連接成長串 title(strRMSE); e = mat2gray(e,-emax,emax); %顯示差值圖像 subplot(2,2,4),imshow(e); title(原圖像與壓縮圖像的差值圖像); %顯示結(jié)果圖像標題 endend實驗結(jié)果及分析(原圖像和處理后的圖像比較及分析)如上圖所示,即為實驗的結(jié)果(ji gu)圖像。對于DCT變換,變換后的高頻部分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度旅游紀念品代售合作協(xié)議3篇
- 二零二五年度勞動法與員工勞動能力評估合同4篇
- 二零二五版美容院美容院產(chǎn)品進口與分銷合同4篇
- 2025年度數(shù)據(jù)中心機房租賃合同合法經(jīng)營保障數(shù)據(jù)安全4篇
- 火災中巖棉材料的耐高溫性能研究
- 二零二五年度非物質(zhì)文化遺產(chǎn)陳列館設計與施工合同4篇
- 現(xiàn)代家居中多功能閱讀區(qū)的規(guī)劃
- 教育資源共享下的小學課外輔導實施路徑
- 二零二五年度智能電網(wǎng)建設與維護服務協(xié)議4篇
- 二零二五年度新媒體運營實習協(xié)議書范本3篇
- 2025年度公務車輛私人使用管理與責任協(xié)議書3篇
- 售后工程師述職報告
- 綠化養(yǎng)護難點要點分析及技術(shù)措施
- 2024年河北省高考歷史試卷(含答案解析)
- 車位款抵扣工程款合同
- 小學六年級數(shù)學奧數(shù)題100題附答案(完整版)
- 高中綜評項目活動設計范文
- 英漢互譯單詞練習打印紙
- 2023湖北武漢華中科技大學招聘實驗技術(shù)人員24人筆試參考題庫(共500題)答案詳解版
- 一氯二氟甲烷安全技術(shù)說明書MSDS
- 物流簽收回執(zhí)單
評論
0/150
提交評論