




已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
數(shù)字圖像處理實驗報告 學 院: 信息科學與工程 專業(yè)班級: 電子信息工程 學 號: 姓 名: 指導老師: 目錄實驗一 數(shù)字圖像的基本操作和灰度變換31.1實驗目的31.2實驗原理與方法31.3實驗內(nèi)容與結果分析41.4思考問題9實驗二 圖像的空間域增強112.1實驗目的112.2實驗原理與方法112.3實驗內(nèi)容與結果分析122.4思考問題15實驗三 圖像的傅里葉變換和頻域處理173.1實驗目的173.2實驗原理與方法173.3實驗內(nèi)容與結果分析17附錄 實驗代碼20實驗一 數(shù)字圖像的基本操作和灰度變換一、 實驗目的 1. 了解數(shù)字圖像的基本數(shù)據(jù)結構 2. 熟悉Matlab中數(shù)字圖像處理的基本函數(shù)和基本使用方法 3. 掌握圖像灰度變換的基本理論和實現(xiàn)方法 4. 掌握直方圖均衡化增強的基本理論和實現(xiàn)方法二、實驗原理與方法1. 圖像灰度的線性變換灰度的線性變換可以突出圖像中的重要信息。通常情況下,處理前后的圖像灰度級是相同的,即處理前后的圖像灰度級都為0,255。那么,從原理上講,我們就只能通過抑制非重要信息的對比度來騰出空間給重要信息進行對比度展寬。 0255 255圖1.1 對比度線性變換關系設原圖像的灰度為,處理后的圖像的灰度為,對比度線性展寬的原理示意圖如圖1.1所示。假設原圖像中我們關心的景物的灰度分布在,區(qū)間內(nèi),處理后的圖像中,我們關心的景物的灰度分布在,區(qū)間內(nèi)。在這里,也就是說我們所關心的景物的灰度級得到了展寬。根據(jù)圖中所示的映射關系中分段直線的斜率我們可以得出線性對比度展寬的計算公式:, , (1-1) ,(;)其中,圖像的大小為。2. 直方圖均衡化 直方圖均衡化是將原始圖像通過某種變換,得到一幅灰度直方圖為均勻分布的新圖像的方法。 離散圖像均衡化處理可通過變換函數(shù):來實現(xiàn)三、實驗內(nèi)容與步驟1熟悉MATLAB語言中數(shù)字圖像處理函數(shù)的使用。2. 圖像灰度線性變換的實現(xiàn) 1)讀入一幅灰度圖像test1.tif,顯示其灰度直方圖 2)根據(jù)圖像灰度直方圖,選擇所關心的圖像景物的灰度分布范圍fa,fb,以及擬變換的灰度分布范圍ga,gb 3)實現(xiàn)對圖像的灰度線性變換 4)調整,的值,觀察對處理結果的影響。 灰度范圍fa=30,fb=50,ga=30,gb=200,線性變換系數(shù)如下= 1,=8.5,= 0.268 = 1對于灰度值0-30直方圖幾乎沒有發(fā)生變化,可看做是恒等變化;灰度值處于30至50之間的部分進行拉伸,其他部分壓縮,圖像變換效果比較明顯。30至50位于直方圖低灰度值部分,所以圖像變亮?;叶确秶鷉a=60,fb=100,ga=30,gb=200,線性變換系數(shù)如下=0.5 ,=4.25,= 0.3548灰度范圍fa=30,fb=80,ga=30,gb=200,線性變換系數(shù)如下= 1,=3.4,= 0.314由可以看出,對于斜率大于1的部分對圖像灰度分布范圍有拉伸作用,斜率小于1的部分對圖像灰度分布范圍有壓縮作用,斜率等于1的部分對于圖像灰度范圍沒有變化。 灰度范圍fa=30,fb=80,ga=130,gb=255,線性變換系數(shù)如下=4.3 ,=2.5,= 00-30,30-80灰度范圍拉伸,其他壓縮,圖像變亮。灰度范圍fa=100,fb=150,ga=5,gb=50,線性變換系數(shù)如下=0.05,=0.9,= 1.95100-150灰度區(qū)間壓縮,圖像變暗 灰度范圍fa=100,fb=150,ga=50,gb=200,線性變換系數(shù)如下=0.5,=3,= 0.523由此可以看出,將圖像灰度在100到150之間的部分進行灰度拉伸,其他部分灰度壓縮,圖像整體變暗了,但因為拉伸的灰度值處于中間部分,所以效果不明顯。3. 圖像的均衡化處理 1)讀入一幅灰度圖像test2.tif,求出其直方圖 2)利用Matlab函數(shù)實現(xiàn)圖像的均衡化處理 3)同屏顯示處理前后的圖像和灰度直方圖,說明處理前后直方圖的變化以及對應的灰度變化均衡化處理前,直方圖分布集中在低亮度區(qū)域,圖像暗且對比度低,視覺效果差。均衡化處理后,直方圖分布均勻,圖像變亮,且對比度提高,圖像清晰,視覺效果好。附:程序界面部分截圖:1. 均衡化處理2.灰度線性變換 四、思考問題1在映射關系中,分段直線的斜率的大小對圖像處理結果有哪些影響?斜率大于1的部分對圖像灰度有拉伸作用,小于1的部分對圖像灰度有壓縮作用。例如,低灰度級的區(qū)域斜率大于1,有拉伸作用,高灰度級的區(qū)域斜率小于1,有壓縮作用,所以圖像變亮;反之,圖像變暗。2在進行對比度擴展時,如何確定和選取所關心的景物?根據(jù)直方圖分布的峰值所在區(qū)域,一半背景峰值分布在直方圖低灰度區(qū),物體對象峰值分布在直方圖高灰度區(qū),兩峰之間的谷底近似背景和物體對象的分界。因此對于暗圖像可以將峰值左邊灰度范圍進行擴展,使圖像變亮,對于亮圖像將峰值右邊灰度范圍進行擴展,使圖像變亮,以達到增強圖像對比度效果。3. 直方圖均衡化適用于什么形式的灰度分布情形?適用于圖像的有用數(shù)據(jù)的對比度相當接近的時候,灰度分布集中在較窄的區(qū)域從而使圖像細節(jié)不清晰的圖像,直方圖均衡化后使圖像的灰度間距拉開,使灰度分布均勻,增大反差,提高對比度,使圖像細節(jié)清晰,改善視覺效果。實驗二 圖像的空間域增強一、 實驗目的 1. 熟悉圖像空間域增強方法,掌握增強模板使用方法2. 掌握均值濾波器、中值濾波器的理論基礎和實現(xiàn)方法3. 掌握圖像銳化的基本理論和實現(xiàn)方法4. 驗證圖像濾波處理結果二、實驗原理與方法圖像增強是數(shù)字圖像處理的基本內(nèi)容之一,其目的是根據(jù)應用需要突出圖像中的某些“有用”信息,削弱或去除不需要的信息,以改善圖像的視覺效果,或突出圖像的特征,便于計算機處理。圖像增強可以在空間域進行,也可以在頻率域中進行。空間域濾波主要利用空間模板進行,如33,55模板等。一般來說,使用大小為mn 的濾波器對大小為MN 的圖像f進行空間濾波,可表示成: 其中,m=2a+1, n=2b+1, (,)是濾波器系數(shù),(,)是圖像值均值濾波器是一種空間平滑濾波器,它是對包含噪聲的圖像上的每個像素點,用它鄰域內(nèi)像素的平均值替代原來的像素值。例如,采用一個33的模板,待處理的像素為f(i,j),則處理后圖像對應的像素值為g(i-1,j+1)g(i,j)=1/9*(f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)+f(i,j-1)+f(i,j)+f(i,j+1)+f(i+1,j-1)+f(i+1,j)+f(i+1,j+1); 中值濾波器也是一種空間平滑濾波器,它是對以圖像像素點為中心的一個滑動窗口內(nèi)的諸像素灰度值排序,用中值代替窗口中心像素的原來灰度值,因此它是一種非線性的圖像平滑法。采用Laplacian銳化算子進行圖像邊緣的銳化,是采用二階差分運算獲得像素間的差異值,由此,獲得對圖像景物邊界的銳化。Laplacian也可以算子也可以寫成是模板作用的方式,如下:設待處理的像素為f(i,j),則處理后圖像對應的像素值為g(i-1,j+1),則g(i,j)=4*f(i,j) -(f(i-1,j-1)+f(i,j-1)+f(i,j+1)+f(i+1,j); 常用的銳化算子還有Roberts、Prewitt和Sobel算子等三、實驗內(nèi)容與步驟1讀入一幅256256 大小、256 級灰度的數(shù)字圖像test32. 圖像的平滑濾波處理1)對原圖像分別加入高斯噪聲、椒鹽噪聲。2)利用鄰域平均法,分別采用33,55模板對加噪聲圖像進行平滑處理,顯示原圖像、加噪圖像和處理后的圖像。3)利用中值濾波法,分別采用33,55模板對加噪聲圖像進行去噪處理,顯示原圖像、加噪圖像和處理后的圖像。4)比較各種濾波方法和濾波模板的處理結果加入高斯噪聲,均值濾波加入高斯噪聲,中值濾波加入椒鹽噪聲,均值濾波加入椒鹽噪聲,中值濾波3. 圖像的銳化處理 1)利用Laplacian 銳化算子(=-1)對256256 大小、256 級灰度的數(shù)字圖像test4進行銳化處理,顯示處理前、后圖像。 2) 分別利用Roberts、Prewitt 和Sobel 邊緣檢測算子,對數(shù)字圖像test4進行邊緣檢測,顯示處理前、后圖像。 四、思考問題1采用均值濾波、中值濾波,對高斯噪聲和椒鹽噪聲的抑制哪種比較有效?均值濾波對高斯噪聲的抑制比較有效,但造成一定的模糊,鄰域越大,圖像模糊越嚴重;中值濾波對椒鹽噪聲比較有效,從實驗結果看3*3模板處理后的圖像接近原圖像,而5*5模板造成圖像模糊嚴重,鄰域越大,模糊越嚴重。2模板大小的不同,所處理效果有何不同?為什么?模板越大,去噪能力增強,但同時造成的模糊越嚴重。均值濾波中,模板中央像素灰度值取模板內(nèi)所有像素的平均,模板越大,關聯(lián)的像素越多,降低噪聲對中央像素灰度值的影響,提高去噪能力,但同時使邊緣附近像素灰度值接近,造成圖像模糊。中值濾波中,窗口中央灰度值取窗口內(nèi)所有像素的中值,模板越大,噪聲出現(xiàn)的次數(shù),越可能小于模板的一半則被濾掉,提高了降噪能力,尤其是椒鹽噪聲,但同時使圖像邊緣附近像素灰度值接近而造成圖像模糊,范圍越大,模糊越嚴重。3對Laplacian銳化算子的處理結果中,對小于0的部分,采用不同的方法標準化到0,255時,圖像的顯示效果有什么不同?為什么?對于小于0的部分可以采用以下辦法:方法1:整體加一個正整數(shù),以保證所有的像素值均為正。比如+128,還有255視為255處理,這樣做的結果是:可以獲得類似浮雕的效果。方法2:將所有的像素值取絕對值。這樣做的結果是,可以獲得對邊緣的有方向提取。 實驗三 圖像的傅里葉變換和頻域處理一、 實驗目的 1. 熟悉圖像空間域和頻率域的關系,掌握快速傅里葉變換2. 掌握離散傅里葉變換的性質和應用二、實驗原理與方法圖像既能在空間域處理,也能在頻率域處理。把圖像信息從空域變換到頻域,可以更好地分析、加工和處理二維離散傅立葉正變換的表達式為逆變換為:二維離散傅立葉變換具有若干性質,如:線性性、平移性、可分離性、周期性、共軛對稱性、旋轉不變性等??衫秒x散傅里葉變換,將信號從空間域變換到頻率域,在頻率域選擇合適的濾波器H(u,v)對圖像的頻譜成分進行處理,然后經(jīng)逆傅立葉變換得到處理圖像,實現(xiàn)圖像處理結果。三、實驗內(nèi)容與步驟1產(chǎn)生一幅如圖所示亮塊圖像f(x,y)(256256 大小、暗處=0,亮處=255),對其進行FFT:(1)同屏顯示原圖f 和FFT(f)的幅度譜圖;(2)若令f1(x,y)=(-1)x+y f(x,y),重復以上過程,比較二者幅度譜的異同,簡述理由;(3)若將f1(x,y)順時針旋轉45 度得到f2(x,y),試顯示FFT(f2)的幅度譜,并與FFT(f2)的幅度譜進行比較。2. 對256256 大小、256 級灰度的數(shù)字圖像test5進行頻域的理想低通、高通濾波濾波,同屏顯示原圖、幅度譜圖和低通、高通濾波的結果圖。設置低通濾波截止頻率為Dl0=50,即:1,0,設置高通濾波器截止頻率為Dh0=30,即: 1, 0,由濾波結果可以得出,低通濾波器由于濾掉了高頻成分,高頻成分含有大量邊緣信息,所以造成了一定程度的圖像模糊。高通濾波器濾掉了低頻成分,保留了高頻成分,即保留了邊界信息,所以顯示出原圖像的邊界。附錄實驗代碼實驗一:1. 界面設計2. 源碼 ugamma.m文件% 計算灰度分段線性變換參數(shù)a,b,r% fa,fb 目標灰度范圍% ga,gb 逆變換灰度范圍function a,b,r = ugamma( fa,fb,ga,gb )a = ga/fa;b = (gb - ga)/(fb-fa);r = (255 - gb)/(255 - fb);end histlt.m文件% 求解灰度分段線性變換后圖像% g 變換后圖像% f 處理圖像對象% fa,fb 關心灰度區(qū)間% ga,gb 逆變換后灰度區(qū)間function g = histlt(f,fa,fb,ga,gb)M,N = size(f);a,b,r = ugamma(fa,fb,ga,gb);for i=1:M for j=1:N if f(i,j)=fa g(i,j) = a*f(i,j); elseif f(i,j)=fb g(i,j) = b*(f(i,j)-fa)+ga; else g(i,j)=r*(f(i,j)-fb)+gb; end endendend lab1gui_1.m 界面關聯(lián)核心代碼% figure打開時回調函數(shù)function lab1gui_1_OpeningFcn(hObject, eventdata, handles, varargin)scrsize = get(0,ScreenSize);set(gcf,Position,scrsize); % 窗口最大化index = 1; %標記當前選擇處理項handles.index = index;handles.output = hObject;guidata(hObject, handles);% 文件選擇器選擇圖像后回調函數(shù)function rpicBtn_Callback(hObject, eventdata, handles)filename,pathname = uigetfile(*.tif,讀取圖片);filecomppath = pathname filename;set(handles.pfEdit,string,filecomppath); % 顯示讀取文件的路徑f = imread(filecomppath);handles.f = f;axes(handles.axes1);imshow(f);axes(handles.axes2);imhist(f);g = histeq(handles.f); handles.g = g;guidata(hObject,handles);showProcessResult(handles);% 圖像處理按鈕回調function dwBtn_Callback(hObject, eventdata, handles)switch handles.index case 1 g = histeq(handles.f); case 2 g = getlt(handles);endhandles.g = g;guidata(hObject,handles);showProcessResult(handles);% 退出按鈕回調function exitBtn_Callback(hObject, eventdata, handles)close all;clear all;clc;% 單選按鈕組 線性變換,均衡化選擇變化回調function uipanel7_SelectionChangeFcn(hObject, eventdata, handles)sectag = get(hObject,tag); switch sectag case ltRb g = getlt(handles); index = 2; case histeqRb g = histeq(handles.f); index = 1;endhandles.g = g;handles.index = index;guidata(hObject,handles);showProcessResult(handles);% 線性變換處理function gs = getlt(handles)%得到文本框中輸入?yún)?shù)fa = str2double(get(handles.fa,string);fb = str2double(get(handles.fb,string);ga = str2double(get(handles.ga,string);gb = str2double(get(handles.gb,string);a,b,r = ugamma(fa,fb,ga,gb);fprintf(a= %f,b=%f,c=%fn,a,b,r);% 設置數(shù)據(jù)set(handles.k1,string,= num2str(a);set(handles.k2,string,= num2str(b);set(handles.k3,string,= num2str(r);gs = histlt(handles.f,fa,fb,ga,gb);% 顯示處理后結果function showProcessResult(handles) axes(handles.axes3);imshow(handles.g);axes(handles.axes4);imhist(handles.g);實驗二:1. 界面設計homegui.figlab2gui_1.figlab2gui_2.fig2. 源碼homegui.m%退出按鈕回調function pushbutton3_Callback(hObject, eventdata, handles)clc;close all;%啟動窗口lab2gui_1function phlbBtn_Callback(hObject, eventdata, handles)lab2gui_1;%啟動窗口lab2gui_2function pushbutton2_Callback(hObject, eventdata, handles)lab2gui_2;lab2gui_1.mfunction lab2gui_1_OpeningFcn(hObject, eventdata, handles, varargin)scrsize = get(0,ScreenSize);set(gcf,Position,scrsize); % 窗口最大化handles.output = hObject;guidata(hObject, handles);function readimgBtn_Callback(hObject, eventdata, handles)filename,pathname = uigetfile(*.tif,讀取圖片);filecomppath = pathname filename;set(handles.filepathEdit,string,filecomppath); % 顯示讀取文件的路徑f = imread(filecomppath);handles.f = f;axes(handles.axes1);imshow(f);gp = getpollutionImg(1,handles.f);showpollutionImg(gp,handles);handles.gp = gp;guidata(hObject,handles);glb3 glb5 = getfilterImg(1,handles.gp);showfilterImg(glb3,glb5,handles);% 得到加入噪聲后圖像% index 1 高斯噪聲 2 椒鹽噪聲function gp = getpollutionImg(index,f)switch index case 1 gp = imnoise(f,gaussian,0,0.03); %加入高斯噪聲,均值、方差分別為0,0.02 case 2 gp = imnoise(f,salt & pepper,0.02); %加入椒鹽噪聲end% 得到濾波后圖像% glb3 3*3模板處理結果 glb5 5*5模板處理結果% index: 1 均值濾波 2 中值濾波function glb3 glb5 = getfilterImg(index,gp)switch index case 1 avf3 = fspecial(average,3,3); avf5 = fspecial(average,5,5); glb3 = filter2(avf3,gp); glb5 = filter2(avf5,gp); case 2 glb3 = medfilt2(gp,3,3); glb5 = medfilt2(gp,5,5);end% 顯示噪聲污染后的圖像function showpollutionImg(gp,handles)axes(handles.axes2);imshow(gp);% 顯示濾波處理后的圖像function showfilterImg(glb3,glb5,handles)axes(handles.axes3);imshow(glb3,);axes(handles.axes4);imshow(glb5,);function backBtn_Callback(hObject, eventdata, handles)close gcf; %關閉當前窗口function uipanel8_SelectionChangeFcn(hObject, eventdata, handles)sectag = get(hObject,tag); disp(sectag);switch sectag case gsBtn index = 1; case jyBtn index = 2; endfprintf(加入噪聲index= %d n,index);handles.gp = getpollutionImg(index,handles.f);axes(handles.axes2);imshow(handles.gp);guidata(hObject,handles);if(get(hObject,value)=1) pos = 1else pos = 2;endfprintf(當前濾波選擇項pos= %dn,pos);glb3 glb5 = getfilterImg(pos,handles.gp);showfilterImg(glb3,glb5,handles);function uipanel2_SelectionChangeFcn(hObject, eventdata, handles)sectag = get(hObject,tag); disp(sectag);switch sectag case aveRbtn index = 1; case mediumRbtn index = 2; endfprintf(濾波選擇 index= %d n,index);glb3 glb5 = getfilterImg(index,handles.gp);showfilterImg(glb3,glb5,handles);lab2gui_2.mfunction lab2gui_2_OpeningFcn(hObject, eventdata, handles, varargin)scrsize = get(0,ScreenSize);set(gcf,Position,scrsize); % 窗口最大化handles.output = hObject;guidata(hObject, handles);function readimgBtn_Callback(hObject, eventdata, handles)filename,pathname = uigetfile(*.tif,讀取圖片);filecomppath = pathname filename;set(handles.imgpathEdit,string,filecomppath); % 顯示讀取文件的路徑f = imread(filecomppath);axes(handles.axes1);imshow(f);w = 0,-1,0;-1,5,-1;0,-1,0;f = double(f);glapls = uint8(conv2(f,w);axes(handles.axes2);imshow(glapls,);axes(handles.axes3);grob = edge(f,Roberts);imshow(grob,);axes(handles.axes4);gprew = edge(f,Prewitt);imshow(gprew,);axes(handles.axes5);gsob = edge(f,Sobel);imshow(gsob,);function pushbutton2_Callback(hObject, eventdata, handles)close gcf;實驗三:1. 源碼makeimg.m% 產(chǎn)生一幅如圖所示亮塊圖像f(x,y)(256256 大小、暗處=0,亮處=255)f = zeros(256,256);width = 24;height = 104;yl = (256 - height)/2;yr = (256 - height)/2 + height;xl = (256 - width)/2;xr = (256 - width)/2 + width;for i=yl:1:yr for j=xl:1:xr f(i,j) = 255; endendimshow(f);imwrite(f,F:bw.tif);lab3_1.mclear all;close all;clc;FILEPATH = F:workspacema
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 深入探討公共關系學中的內(nèi)容營銷策略及試題及答案
- 工程地質勘探基礎試題及答案
- 中級經(jīng)濟師考試的金融體系分析試題及答案
- 績效提升的有效策略與實踐試題及答案
- 孕產(chǎn)婦出院后健康管理與隨訪流程
- 初中班級心理素質拓展計劃
- 七年級美術跨學科教學計劃
- 小學數(shù)學課程復習計劃與安排
- 樁基工程課件
- 高科技企業(yè)車間主任的職責
- 安徽彩色壓花地坪施工方案
- DB34T 3620-2020 楊樹立木材積表
- 二氧化碳與水反應的實驗改進
- 建設工程施工合同GF-0201
- 吸收塔安裝施工方案
- 辛棄疾詞《青玉案·元夕》
- 年產(chǎn)鄰苯二甲酸二丁酯畢業(yè)設計
- 液壓傳動連接 試驗方法 第2部分:快換接頭
- 2024年重慶市初中學業(yè)水平考試生物試卷試題真題(含答案詳解)
- 整形外科診療規(guī)范
- 如果歷史是一群喵
評論
0/150
提交評論