資源描述:
《實驗一 空域圖像增強技術》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、實驗報告課程名稱:數(shù)字圖像處理實驗名稱:空域圖像增強技術實驗地點:明向校區(qū)D001機房專業(yè)班級:測控1401班學號:2014001796學生姓名:郭佳鑫指導教師:劉帆2017年4月14日《數(shù)字圖像處理》實驗報告一、實驗目的1.結合實例學習如何在視頻顯示程序中增加圖像處理算法。2.理解和掌握圖像的線性變換和直方圖均衡化的原理和應用。3.了解平滑處理的算法和用途,學習使用均值濾波、中值濾波和拉普拉斯銳化進行圖像增強處理的程序設計方法。4.了解噪聲模型及對圖像添加噪聲的基本方法。二、實驗原理1.灰度線性變換就是將圖像中所有點的灰度按照線性灰度變換函數(shù)進行變換。g(x,y)
2、?T[f(x,y)]??f(x,y)0?f(x,y)?a?g(x,y)???[f(x,y)?a]?gaa?f(x,y)?b??[f(x,y)?b]?gb?f(x,y)?255?bx?1,2,?,m,y?1,2,?n2.直方圖均衡化通過點運算將輸入圖像轉換為在每一級上都有相等像素點數(shù)的輸出圖像。按照圖像概率密度函數(shù)PDF的定義:nkp(r)?k?0,1,2,...,L?1rkn通過轉換公式獲得:kknjsk?T(rk)??pr(rj)??k?0,1,2,...,L?1j?0j?0n3.均值(中值)濾波是指在圖像上,對待處理的像素給定一個模板,該模板包括了其周圍的臨近像
3、素。將模板中的全體像素的均值(中值)來代替原來像素值的方法。4.拉普拉斯算子如下:??1?1?1????18?1?????1?1?1??拉普拉斯算子首先將自身與周圍的8個像素相減,表示自身與周圍像素的差異,再將這個差異加上自身作為新像素的灰度。三、實驗儀器1.計算機。2.MATLAB程序。3.記錄用的筆、紙。2《數(shù)字圖像處理》實驗報告四、實驗步驟與內容1.圖像的灰度線性變換程序代碼:>>I=imread('tyut.bmp');imshow(I);I=double(I);[M,N]=size(I);fori=1:Mforj=1:NifI(i,j)<=30I(i,j)
4、=I(i,j);elseifI(i,j)<=150I(i,j)=(200-30)/(150-30)*(I(i,j)-30)+30;elseI(i,j)=(255-200)/(255-150)*(I(i,j)-150)+200;endendend>>figure(2);imshow(uint8(I));實驗圖像及結果:可以看出,圖像整體亮度提升,天空變得更白,“太原理工大學”幾個字變得更鮮紅,整體對比度上升。3《數(shù)字圖像處理》實驗報告2.圖像的直方圖均衡化程序代碼:>>I=imread('circuit.tif');figuresubplot(221);imshow(
5、I);subplot(222);imhist(I)>>I1=histeq(I);>>figure;>>subplot(221);imshow(I1)>>subplot(222);imhist(I1)實驗圖像及結果:(前幾行錯誤是由于讀取的圖像未輸入擴展名“.tif”;并且由于imhist只能處理單通道灰度圖像,因而只能使用MATLAB本身擁有的circuit.tif圖像文件)從圖像和直方圖共同對比可以看出,原本圖像的本身偏暗,在直方圖中灰度值也都集中在黑色部分;而處理后的圖像黑色部分仍然明顯,但白色明顯增多,直方圖也顯示圖像整體的灰度范圍變得更均衡。3.圖像的均值濾
6、波程序代碼:>>clearclearallI=imread('pout.tif');[M,N]=size(I);II1=zeros(M,N);fori=1:164《數(shù)字圖像處理》實驗報告II(:,:,i)=imnoise(I,'gaussian',0,0.01);II1=II1+double(II(:,:,i));ifor(or(i==1,i==4),or(i==8,i==16));figure;imshow(uint8(II1/i));endend實驗圖像及結果:Figure1中為添加了噪聲的圖像,F(xiàn)igure2、3、4分別是4、8、16張加入了同類噪聲的圖像疊加
7、后取平均的結果,可以看出,進行平均的數(shù)量越多,噪聲對圖像的干擾就越小。4.圖像的中值濾波程序代碼:>>I=imread('eight.tif');J=imnoise(I,'salt&pepper',0.02);>>subplot(231),imshow(I);title('原圖');>>subplot(232),imshow(J);title('噪聲圖')>>k1=medfilt2(J);>>k2=medfilt2(J,[5,5]);>>k3=medfilt2(J,[7,7]);>>k4=medfilt2(J,[9,9]);>>subplot(233),imsh