第一篇:圖像處理實驗報告
實 實 驗 報 告
實驗課程名稱
圖像處理(第二版)
指 指 導 老 師
鄧天明
學 學
院
交通運輸
年級
2012 級
專業及班級
交通信息與控制工程二班
學 學 生 姓 名
田
飛
學
號 631205090230
開 開 課 時 間
2014
至
2015
學年第 2
學期
總 總 成 績
教師簽名
實驗名稱 直方圖均衡化 實驗類型 驗證型 實驗時間 2015/6/2 實驗地點 基礎實驗樓北 501 實驗目的:
1.熟悉圖像數據在計算機中的存儲方式; 2.掌握圖像直方圖均衡化這一基本處理過程。
儀器、設備名稱:
PC 微機一臺和 MATLAB 軟件。
實驗要求及注意事項:
本次實驗注意事項總結如下:
1、要學會利用 Matlab 中的幫助信息,因為很多函數的調用方法都是可以在幫助中找到的。在調用函數時應重點看 Examples 中的方式。
2、在 Matlab 中進行重復操作時,可以用方向上鍵重復命令,也可以在命令窗口中進行復制粘貼。
3、使用軟件處理圖像時,注意不要使用復雜圖像,以免處理時間過長且顯示效果不理想。
實驗內容、操作步驟:
實驗內容:
1.讀入圖像數據到內存中,并顯示讀入的圖像; 2.實現直方圖均衡化處理,顯示處理前后圖像的直方圖。
3.顯示并保存處理結果。
實驗步驟:
1.打開 Matlab 編程環境; 2.獲取實驗用圖像。用’imread’函數將圖像讀入 Matlab;用’imshow’函數顯示讀入的圖像。
3.獲取輸入圖像的直方圖:用’imhist’函數處理圖像。
4.均衡化處理:用’histeq’函數處理圖像即可。
5.獲取均衡化后的直方圖并顯示圖像:用’imhist’和’imshow’函數。
6.保存實驗結果:用’imwrite’函數處理。
實驗結果分析(含數據、圖表整理):
程序源代碼 :
A = imread(‘D:TF.gif’, ‘gif’);imshow(A);imhist(A);histeq(A);Imhist(A);Imshow(A);Imwrite(A, ‘D:TF.gif’, ‘GIF’);
處理結果:
圖 1
灰度圖
圖 2
均衡化圖
圖 3
直方圖
實驗收獲、心得及建議:
直方圖均衡化是直方圖變換方法中的一種,進行圖像增強的方法是以概率論為基礎的。
直方圖均衡化主要用于增強動態范圍偏小的圖像的反差。這個方法基本思想是把原始圖的直方圖變換為均勻分布的形式,這樣就增加了像素灰度值的動態范圍,從而達到增強圖像整體對比度德效果。
數字圖像直方圖均衡化之后直方圖不是絕對平坦的,因為不能將同一個灰度值的各個像素變換到不同灰度級(或說此時僅根據灰度值區分不開不同的像素),所以數字圖像直方圖均衡化的結果一般只是近似均衡化的直方圖。
在本次實驗中發現:直方圖均衡化在增強反差的同時也增強了圖像的可視粒度。
實驗名稱 頻域平滑濾波 實驗類型 驗證型 實驗時間 2015/6/9 實驗地點 基礎實驗樓北 501 實驗目的:
1.熟悉圖像數據在頻率域的表示; 2.掌握頻域圖像增強的基本步驟。
儀器、設備名稱:
PC 微機一臺、MATLAB 軟件、GIF 格式圖片一張。
實驗要求及注意事項:
在選擇圖片時應當選擇 TTF 格式或者 GIF 格式的圖片,若不是這種格式則應該在畫圖工具中改為上述格式,因為其他格式都打不開。
實驗內容、操作步驟:
實驗內容:
1.綜合利用所學的數字圖像基本存儲結構、圖像變換、圖像增強等知識實現頻率域圖像增強; 2.在頻率域進行用半徑值分別為 5,15,30,80 和 230 的理想低通濾波器對圖像進行平滑,并觀察濾波效果。
操作步驟:
1.打開 Matlab 編程環境; 2.獲取實驗用圖像。用’imread’函數將圖像讀入 Matlab;用’imshow’函數顯示讀入的圖像。
3.將圖像’uint8’格式轉換為’double’格式,并將各點數據乘以-1 的(x+y)次方以便 FFT 變換后的結果中低頻數據處于圖像中央。
4.用’fft2’函數對圖像數據進行二維 FFT 變換,得到頻率域圖像數據。
5.計算頻率域圖像的幅值并進行對數變換,利用’imshow’顯示頻率域圖像。
6.在頻率圖像上去除濾波半徑意外的數據(置 0)。
7.計算頻率域圖像的幅值并進行對數變換,利用’imshow’顯示頻率域圖像。
8.用’fft2’函數對圖像數據進行二維 FFT 逆變換,并用’real’函數取其實部,得到處理過的空間域圖像數據。
9.將圖像數據各點數據乘以-1 的(x+y)次方。
10.用’imshow’函數顯示處理結果圖像數據,并用’imwrite’函數保存圖像處理結果數據。
實驗結果分析(含數據、圖表整理):
程序源代碼:
function
idlvbo(r)
I=imread(“E: tu bailong1.gif”);
subplot(1,2,1),imshow(I);% 顯示原圖
title(“bailong2 原 圖 ”);
k=double(I);% ‘ uint8 格式轉換為‘ double ’
g=fft2(k);% 傅里葉變換
g=fftshift(g);% 實現低頻數據處于圖像中心
figure,imshow(g);
% % 除去濾波半徑以外的數據
[M ,N]=size(g);% 計算幅值
m=fix(M/2);
n=fix(N/2);
%m=round(M/2);
%n=round(N/2);
for i=1:M
for j=1:N
d=sqrt((i--m)^2+(j--n)^2);
if
d<=r
h=1;
else
h=0;
end
y(i,j)=h*g(i,j);
end
end
y=ifftshift(y);
E1=ifft2(y);
E2=uint8(real(E1));
subplot(1,2,2),imshow(E2);
title(“ 處理后的圖像 ”);
imwrite(E2,“E2.tif”,“tif”);
處理結果:
原圖
r=5 的結果圖
r=15 的結果圖
r=30 的結果圖
r=80 的結果圖
r=230 的結果圖
實驗收獲、心得及建議:
在頻域空間,圖像的信息表現為不同頻率分量的組合。如果能讓某個范圍內的分量或某些頻率的分量受到抑制而讓其他分量不受影響,就可以輸出圖的頻率分布,達到不同的增強目的。
頻域空間的增強方法有三個步驟:
1、將圖像從圖像空間轉換到頻域空間; 2、在頻域空間對圖像進行增強; 3、將增強后的圖像再從頻域空間轉換到圖像空間; 本次試驗中在 FFT 變換前后,將各點數乘以-1 的(x+y)次方,是為了將圖像處理后它的中低頻數據處于圖像中央位置。
頻率域圖像處理是把圖像看成一種二維信號,對其進行基于二維傅里葉變化的信號增強;空間域圖像增強的方法是直接對圖像中的像素進行處理的過程。
實驗名稱 圖像去噪 實驗類型 驗證型 實驗時間 2015/6/9 實驗地點 基礎實驗樓北 501 實驗目的:
1.熟悉圖像高斯噪聲的特點; 2.掌握利用中值濾波器去除圖像噪聲的方法。
儀器、設備名稱:
PC 微機一臺、MATLAB 軟件、GIF 格式圖片一張。
實驗要求及注意事項:
在選擇圖片時應當選擇 TTF 格式或者 GIF 格式的圖片,若不是這種格式則應該在畫圖工具中改為上述格式,因為其他格式都打不開。
實驗內容、操作步驟:
實驗內容:
編寫代碼實現中值濾波算法,并觀察增強效果。
操作步驟:
1.打開 Matlab 編程環境。
2.利用’imread’ 函數讀入包含噪聲的原始圖像數據。
3.利用’imshow’ 顯示所讀入的圖像數據。
4.編寫代碼實現中值濾波算法,并對原始噪聲圖像進行濾波處理。
5.利用’imshow’ 顯示處理結果圖像數據。
6.利用’imwrite’函數保存圖像處理結果數據。
實驗結果分析(含數據、圖表整理):
程序源代碼:
I1=imread(“D:tfYUAN.jpg”);
I3=rgb2gray(I1);I2=imnoise(I3,“salt & pepper”,0.02);subplot(1,2,1);
imshow(I2);
title(“jia zao yin”);
L=medfilt2(I2);
subplot(1,2,2);
imshow(L);
title(“ 中值濾波所得圖像”);處理結果:
去噪聲后的圖像對比
實驗收獲、心得及建議:
噪聲是常見的退化因素之一,也是圖像恢復中重點研究的主要內容。圖像中的噪聲可定義為圖像中不希望有的部分,或圖像中不需要的部分。
中值濾波算法處理速度快。均值濾波對一個像素,取其周圍的像素均值作為當前像素的值;中值濾波對一個像素,取其周圍的像素的中間值作為當前像素的值,不需要求出均值,因此中值濾波算法較快。先得到圖像的頻率空間,然后對得到的二維空間數據進行比較得到最大值和最小值,求這兩個值的平均值得到。它比中值濾波算法慢。
本次實驗中,通過相關軟件自帶函數對圖像進行處理,實現圖像噪點的處理。
實驗名稱 Matlab 在數字圖像處理中的應用
實驗類型 驗證行 實驗時間 2015/6/16 實驗地點 基礎實驗樓北 501 室 實驗目的:
1.熟悉圖像的四種類型。
2.熟練掌握圖像的讀、寫操作以及顯示方法。
3.熟悉圖像的類型轉換以及格式轉換。
儀器、設備名稱:
計算機、MATLAB 軟件、《圖像處理實驗指導(電子版)》、MATLAB 相關書籍 實驗要求及注意事項:
1、注意在 Matlab 中不同圖像對應的格式。在 Matlab 中采用 4 種不同的方式把圖像數據矩陣中的元素值(又稱像素值)解釋為對應像素的顏色。
2、使用 Matlab 中自帶的函數可以實現不同格式的圖像的格式間的轉換。要熟悉相應的函數的使用參數。
實驗內容、過程記錄:
1.利用 imread()函數分別讀取四種類型的圖像。
2.讀取一幅 RGB 圖片,并將它轉換成其他幾種圖像類型。
3.讀取一幅 TIF 格式的圖像,將它轉換成 JPG 文件格式,并嘗試使用不同的壓縮品質(使用 help imwrite 查詢其‘quality’參數的用法)壓縮文件,比較壓縮前后文件的大小和圖像質量。
4(選做).讀取一幅索引圖像,將圖像顯示出來。嘗試修改 MAP 顏色矩陣的值,再將圖像顯示出來,對比觀察圖像顏色的變化。
實驗分析結果(含數據、圖表整理):
程序源代碼:
function dutu
I=imread(“C: ABCDEFG-------TF tf tf.jpg”);
subplot(2,2,1),imshow(I);
B title(“RGB 原圖 ”);
A=dither(I,gray);
subplot(2,2,2),imshow(A);
title(“ 索引圖 ”);
imwrite(A ,“suoyin.tif”,“tif”);
B=rgb2gray(I);
subplot(2,2,3),imshow(B);
title(“ 灰度圖 ”);
imwrite(B,“huidu.tif”,“tif”);
C=im2bw(I,0.4);
subplot(2,2,4),imshow(C);
title(“ 二值圖 ”);
imwrite(C,“erzhi.tif”,“tif”);
end
function gaitu
clc
clear
I=imread(“C: ABCDEFG-------TF tff.tif”);
subplot(2,2,1),imshow(I);
title(“ TF1.tif”);
imwrite(I,“TF1.jpg”,“jpg”);
B=imread(“C: ABCDEFG-------TF TF1.jpg”);
subplot(2,2,2),imshow(B);
title(“TF1.jpg”);
imwrite(I,“TF1(25).jpg”,“quality”,25);
C=imread(“C: ABCDEFG-------TF TF1(25).jpg”);
subplo t(2,2,3),imshow(C);
title(“TF1(25).jpg”);
imwrite(I,“TF1(50).jpg”,“quality”,50);
D=imread(“C: ABCDEFG-------TF TF1(50).jpg”);
subplot(2,2,4),imshow(D);
title(“TF1(50).jpg”);
end
1、圖像格式間的轉換 結果見下圖
圖 1 圖像格式轉換結果圖 使用 imread 函數讀入一張 RGB 圖像,然后使用“dither”、“rgb2gray”、“im2bw”函數實現 RGB 圖像向索引圖像、灰度圖像、二值圖像的轉換。圖像結果使用“imwrite”函數進行保存。
2.讀取一幅 TIF 格式的圖像,將它轉換成 JPG 文件格式
圖 2 tif 格式轉換為 jpg 格式結果 使 用 imwrite 函 數 使 “tif” 格 式 轉 換 為 “jpg” 格 式,然 后 使 用 “ imwrite(I,“TF1(25).jpg”,“quality”,25)”和“imwrite(I,“TF1(50).jpg”,“quality”,50)”使圖像分別以 25 和 50 的質量進行壓縮保存。
實驗收獲、心得及建議:
實驗中主要注意的時使用函數時,要與函數要求的格式相對應。處理不同類型的圖像,所使用的函數語句是不一樣的,對于結果的顯示也會有所不同。有時圖像的改變在顯示時改變的跡象可能不太明顯,這時可以通過查看圖像的格式,具體的屬性參數直觀的看到改動。
查看文件的格式時可以根據其文件的后綴名。或者查看 imread 函數讀到的矩陣格式。比如 TIFF 格式的文件,其文件包含文件頭、參數指針表與參數域、參數數據表和圖像數據 4 部分,這樣讀入到 MATLAB 中的矩陣格式就會為格式。
第二篇:圖像處理 實驗報告
摘要:
圖像處理,用計算機對圖像進行分析,以達到所需結果的技術。又稱影像處理。基本內容 圖像處理一般指數字圖像處理。數字圖像是指用數字攝像機、掃描儀等設備經過采樣和數字化得到的一個大的二維數組,該數組的元素稱為像素,其值為一整數,稱為灰度值。圖像處理技術的主要內容包括圖像壓縮,增強和復原,匹配、描述和識別3個部分。圖像處理一般指數字圖像處理。
數字圖像處理的目的是改善圖像的質量,它以人為對象,以改善人的視覺效果為目的。目前,圖像處理演示系統應用領域廣泛醫學、軍事、科研、商業等領域。因為數字圖像處理技術易于實現非線性處理,處理程序和處理參數可變,故是一項通用性強,精度高,處理方法靈活,信息保存、傳送可靠的圖像處理技術。本圖像處理演示系統以數字圖像處理理論為基礎,對某些常用功能進行界面化設計,便于初級用戶的操作。設計要求
可視化界面,采用多幅不同形式圖像驗證系統的正確性;
合理選擇不同形式圖像,反應各功能模塊的效果及驗證系統的正確性 對圖像進行灰度級映射,對比分析變換前后的直方圖變化;
1.課題目的與要求 目的:
基本功能:彩色圖像轉灰度圖像
圖像的幾何空間變換:平移,旋轉,剪切,縮放 圖像的算術處理:加、減、乘
圖像的灰度拉伸方法(包含參數設置); 直方圖的統計和繪制;直方圖均衡化和規定化; 要求:
1、熟悉圖像點運算、代數運算、幾何運算的基本定 義和常見方法;
2、掌握在MTLAB中對圖像進行點運算、代數運算、幾何運算的方法
3、掌握在MATLAB中進行插值的方法
4、運用MATLAB語言進行圖像的插值縮放和插值旋轉等
5、學會運用圖像的灰度拉伸方法
6、學會運用圖像的直方圖設計和繪制;以及均衡化和規定化
7、進一步熟悉了解MATLAB語言的應用,將數字圖像處理更好的應用于實際
2.課題設計內容描述
1>彩色圖像轉化灰度圖像:
大部分圖像都是RGB格式。RGB是指紅,綠,藍三色。通常是每一色都是256個級。相當于過去攝影里提到了8級灰階。
真彩色圖像通常是就是指RGB。通常是三個8位,合起來是24位。不過每一個顏色并不一定是8位。比如有些顯卡可以顯示16位,或者是32位。所以就有16位真彩和32位真彩。
在一些特殊環境下需要將真彩色轉換成灰度圖像。1單獨處理每一個顏色分量。
2.處理圖像的“灰度“,有時候又稱為“高度”。邊緣加強,平滑,去噪,加銳度等。
3.當用黑白打印機打印照片時,通常也需要將彩色轉成灰白,處理后再打印 4.攝影里,通過黑白照片體現“型體”與“線條”,“光線”。2>圖像的幾何空間變化:
圖像平移是將圖像進行上下左右的等比例變化,不改變圖像的特征,只改變位置。
圖像比例縮放是指將給定的圖像在x軸方向按比例縮放fx倍,在y軸按比例縮放fy倍,從而獲得一幅新的圖像。如果fx=fy,即在x軸方向和y軸方向縮放的比率相同,稱這樣的比例縮放為圖像的全比例縮放。如果fx≠fy,圖像的比例縮放會改變原始圖象的像素間的相對位置,產生幾何畸變。
旋轉。一般圖像的旋轉是以圖像的中心為原點,旋轉一定的角度,也就是將圖像上的所有像素都旋轉一個相同的角度。旋轉后圖像的的大小一般會改變,即可以把轉出顯示區域的圖像截去,或者擴大圖像范圍來顯示所有的圖像。圖像的旋轉變換也可以用矩陣變換來表示。3>圖像的算術處理:
圖像代數運算是指對兩幅或兩幅以上輸入圖像對應的像素逐個進行和差積商運算以產生增強效果的圖像。圖像運算是一種比較簡單有效的增強處理手段是圖像處理中常用方法。三種圖像處理代數運算的數學表達式如下: C(x,y)=A(x,y)+B(x,y)C(x,y)=A(x,y)-B(x,y)C(x,y)=A(x,y)*B(x,y)4>圖像的灰度拉伸方法:
灰度拉伸又叫對比度拉伸,它是最基本的一種灰度變換,使用的是最簡單的分段線性變換函數,它的主要思想是提高圖像處理時灰度級的動態范圍。可以有選擇的拉伸某段灰度區間以改善輸出圖像。如圖,所示的變換函數的運算結果是將原圖在a到b之間的灰度拉伸到c到d之間。如果一幅圖像的灰度集中在較暗的區域而導致圖像偏暗,可以用灰度拉伸功能來拉伸(斜率>1)物體灰度區間以改善圖像;同樣如果圖像灰度集中在較亮的區域而導致圖像偏亮,也可以用灰度拉伸功能來壓縮(斜率<1)物體灰度區間以改善圖像質量。
5>直方圖設計和繪制;以及均衡化和規定化:
灰度直方圖是將數字圖像的所有像素,按照灰度值的大小,統計其所出現的頻度。通常,灰度直方圖的橫坐標表示灰度值,縱坐標為半個像素個數,也可以采用某一灰度值的像素數占全圖像素數的百分比作為縱坐標。
直方圖均衡方法的基本原理是:對在圖像中像素個數多的灰度值(即對畫面起主要作用的灰度值)進行展寬,而對像素個數少的灰度值(即對畫面不起主要作用的灰度值)進行歸并。從而達到清晰圖像的目的。
3.總體方案設計
1> GUI圖像處理平臺的總體設計
圖像處理平臺設計的目的是能夠將圖像處理的各個獨立算法集成到一個平臺內,方便用戶選用多種方法對圖像進行處理.平臺基于MatlabGUI設計,實現圖像處理過程的交互和可視化,并為用戶二次開發提供平臺接口,提高圖像處理算法的綜合利用效率
2>平臺總體功能設計 根據一體化的設計思想,平臺主要實現算法集成、交互可視化和提供二次開發接口等功能.其中算法集成分為已有算法集成和新算法集成.具體功能描述如下:
(1)已有算法集成是對Matlab圖像處理工具
包中提供的算法進行集成,可以通過使用函數名加參數的方式直接調用.依據功能進行分類,將同類算法集成到同一菜單項內,如將傅里葉變換、小波變換、離散變換等算法歸類到圖像變換中,進行集成.(2)新算法集成是指對自主開發的算法進行集成,如改進水平集算法[12]、交互式圖割算法[13]、細胞自動機分割算法[14]等均為自主開發的圖像分割算法,同已有算法集成方式類似,集成到平臺中,便于綜合運用和算法分析與對比.(3)交互式可視化是指對圖像處理過程及結果的可視化顯示,并提供用戶交互區.(4)二次開發接口是指通過調用集成模板方式,為用戶提供一個將自己算法集成到平臺中的一個接口
3>總體布局設計
一個高性能的圖像處理平臺應該為用戶提供
方便快捷的操作.平臺設計中通過菜單和按鈕實現快捷操作,其中菜單項提供平臺的整體功能,快捷按鈕顯示具體的獨立功能.圖像處理平臺的布局設計如圖1所示.利用MatlabGUI提供的工具包和底層代碼,可以實現菜單功能區、快捷按鈕功能區、DEMO顯示區、可視化效果顯示區和用戶交互區的布局設計
4.程序實現和測試
4.1各個功能模塊的主要實現程序 基本功能:彩色圖像轉灰度圖像
I=imread('C:MATLAB7toolboximagesimdemospeppers.png','png');x=rgb2gray(I);figure(1);subplot(121);imshow(I);title('原始圖像');subplot(122);imshow(x);title('灰度圖像');實驗結果:
圖像的幾何空間變換:平移,旋轉,剪切,縮放
img1=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');img1=rgb2gray(img1);figure,imshow(img1);imwrite(img1,'a1.jpg');%%%%%%平移
se=translate(strel(1),[20 20]);img2=imdilate(img1,se);figure,imshow(img2);imwrite(img2,'a2.jpg');%%%%%%旋轉 img3=imrotate(img1,90);figure,imshow(img3);imwrite(img3,'a3.jpg');% %%%%%縮放 img4=imresize(img1,2);figure,imshow(img4);imwrite(img4,'a4.jpg');
原始圖像:
平移圖像:
旋轉圖像:
縮放圖像:
圖像的算術處理:加、減、乘
加法
A=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');B=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao1.jpg','jpg');subplot(1,3,1);imshow(A);title('圖像1');subplot(1,3,2);imshow(B);title('圖像2');C=imadd(A,B);subplot(1,3,3);imshow(C);title('相加后的圖像')
減法
A=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');B=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao1.jpg','jpg');subplot(2,3,1);imshow(A);title('圖像1');subplot(2,3,2);imshow(B);title('圖像2');C=imsubtract(A,B);subplot(2,3,3);imshow(C);title('相減后的圖像')
乘法
A=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');B=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao1.jpg','jpg');subplot(1,3,1);imshow(A);title('圖像1');subplot(1,3,2);imshow(B);title('圖像2');C=immultiply(A,B);subplot(1,3,3);imshow(C);title('相乘后的圖像')
圖像的灰度拉伸方法(包含參數設置);
img=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');figure(1);imshow(img);title('原圖');[m,n]=size(img);%測量圖像尺寸參數
GreyHist=zeros(1,256);%預創建存放灰度出現概率的向量 for k=0:255 GreyHist(k+1)=length(find(img==k))/(m*n);%計算每級灰度出現的概率,將其存入GreyHist中相應位置
end figure(2);bar(0:255,GreyHist)%繪制直方圖 title('原直方圖')xlabel('灰度值')ylabel('出現概率')%灰度拉伸 imggrey=img;prompt={'請輸入系數a','請輸入系數b'};words='請輸入線性拉伸函數:';answer = inputdlg(prompt,words,1,{'0.5','2'});a=str2double(answer(1));b=str2double(answer(2));for i=1:m for j=1:n img(i,j)=a*img(i,j)+b;end end figure(3);imshow(img);title('灰度拉伸');GreyHist=zeros(1,256);%預創建存放灰度出現概率的向量 for k=0:255
直方圖的統計和繪制;直方圖均衡化和規定化;
%一,圖像的預處理,讀入彩色圖像將其灰度化
img=imread('C:MATLAB7toolboximagesimdemosguidemo123jujiao3.jpg','jpg');%讀入JPG彩色圖像文件
imshow(img)%顯示出來 title('輸入的彩色JPG圖像')imwrite(rgb2gray(img),'PicSampleGray.jpg');%將彩色圖片灰度化并保存 img=rgb2gray(img);%灰度化后的數據存入數組 %二,繪制直方圖
[m,n]=size(img);%測量圖像尺寸參數
GP=zeros(1,256);%預創建存放灰度出現概率的向量 for k=0:255 GP(k+1)=length(find(img==k))/(m*n);%計算每級灰度出現的概率,將其存入GP中相應位置 end figure,bar(0:255,GP,'g')%繪制直方圖 title('原圖像直方圖')xlabel('灰度值')ylabel('出現概率')%三,直方圖均衡化 S1=zeros(1,256);for i=1:256 for j=1:i S1(i)=GP(j)+S1(i);%計算Sk end end S2=round((S1*256)+0.5);%將Sk歸到相近級的灰度 for i=1:256 GPeq(i)=sum(GP(find(S2==i)));%計算現有每個灰度級出現的概率 end figure,bar(0:255,GPeq,'b')%顯示均衡化后的直方圖 title('均衡化后的直方圖')xlabel('灰度值')ylabel('出現概率')%四,圖像均衡化 PA=img;for i=0:255 PA(find(img==i))=S2(i+1);%將各個像素歸一化后的灰度值賦給這個像素 end figure,imshow(PA)%顯示均衡化后的圖像 title('均衡化后圖像')imwrite(PA,'PicEqual.jpg');
4.3.問題說明和總結:對在調試中發現的問題和解決方法做說明。
圖像處理,是對圖像進行分析、加工、和處理,使其滿足視覺、心理以及其他要求的技術。圖像處理是信號處理在圖像域上的一個應用。目前大多數的圖像是以數字形式存儲,因而圖像處理很多情況下指數字圖像處理。
進行程序調試的過程中,最重要的是輸入圖像,剛開始是為了找到原始圖像耗費了很多時間,一般的條件書上有,但要對其進行磨合。程序編寫時,應該注意大小寫。應該注意最后的輸出部分,保證輸出條件與輸入條件相同。
5.總結與體會 這次使用MATALB進行圖像處理的編寫,是我對MATALB軟件有了更深入的了解,對其的應用能力也有了相應的提高,更深入的了解到MATALB作為繪圖軟件的方便與快捷。在進行程序調試的過程中,最重要的是輸入圖像,只有找到圖像的原始位置,才能進行下面的程序編碼。編碼程序時,應該在MATLAB原始文檔的位置先行輸入,輸入時應該注意大小寫。程序應該盡可能地簡單,只要能達到目的就行,程序越復雜,運行時的錯誤就越多。以上是我的程序編碼經驗與感受。
6.參考文獻
《數字圖像處理實驗指導書》 厙向陽 曹穎超 編著 《MATLAB與數學實驗》 艾冬梅 李艷晴 編著 《圖像處理和分析技術》 章毓晉 編著 《MATLAB實用教程》 鄭阿奇 編著
第三篇:遙感圖像處理實驗報告
遙感圖像處理實驗報告
班級 11資環 姓名 學號 實驗專題 實驗室 F樓機房 成績評定 教師簽字
專題一:DEM圖像進行彩色制圖··························································2(敘述制圖過程并把自己處理結果加載到本文檔里)
專題二:TM與SPOT數據融合····························································3(敘述該過程并處理結果加載到本文檔里。注意用兩種方法融合的過程)
專題三:航片的配準與鑲嵌·····························································4(敘述該過程并處理結果加載到本文檔)
專題四:切取某研究區域的操作·························································5(具體要求:衛星影象疊加,選擇其中三波段彩色合成,采用ROI切取研究區)
專題五:地圖制圖的方法·······························································6(主要是快速制圖。并任選一樣例加載制圖后結果)
專題六:使用ENVI進行三維曲面的瀏覽與飛行············································7(敘述該過程并處理結果加載到本文檔里)
專題七:監督分類試驗(任選一種監督分類方法,并敘述···································8(其過程將其結果加載到本檔里)。實驗專題: 專題一:DEM圖像進行彩色制圖
1、加載一幅DEM的灰度圖像,使用系統默認的IDL顏色表來調整屏幕的顏色表。
2、給生成的彩色圖像添加圖名、格網、比例尺、灰度條、等高線及數值等信息。
3、調整位置,保存圖像。結果如下圖 實驗專題: 專題二:TM與SPOT數據融合
1、主圖象窗口選擇Transform > Image Sharpening > HSV,從一個打開的彩色圖像中選擇三個波段進行變換。
2、對原DEM圖像進行拉伸處理。
3、將HSV圖像重新轉換為RGB圖像。分別對應H-R,S-G,拉伸圖像-B。
4、加載最終圖像,并保存結果。結果如圖所示:
實驗專題: 專題三:航片的配準與鑲嵌
1、加載兩幅圖像,其中一幅作為base image,一幅作為warp image。
2、在主菜單Registration里的Select GCP(Ground Control Points)來選擇地面控制點,并調整誤差。
3、執行圖像—地圖配準。
4、圖像鑲嵌。執行Map> Mosaicking > Pixel Based。
5、在Pixel Based Mosaic對話框,選擇Import > Import Files and Edit Properties,調整羽化、背景等參數。
6、輸入其他參數,加載結果圖并保存。結果如圖:
實驗專題: 專題四:切取某研究區域的操作
1、加載一多波段彩色圖像,在主圖像窗口中,選擇Overlay > Region of Interest。
2、ROI的類型選擇polygon,在image窗口中畫出研究的區域。
3、通過選擇Basic Tools > Masking > Build Mask,建立掩膜。
4、選擇Basic Tools > Masking > Apply Mask,應用掩膜來切取研究區域。結果如下:
實驗專題: 專題五:地圖制圖的方法
1、打開顯示要輸出的圖像。
2、從主圖像顯示窗口中,選擇File>Quickmap>New Quickmap,修改輸出頁的大小、頁的范圍以及地圖的比例。
3、設置圖名、投影并添加map key等信息,保存圖像。結果如下:
實驗專題: 專題六:使用ENVI進行三維曲面的瀏覽與飛行
1、在顯示圖像的主圖像窗口中,選擇Tools> 3-D SurfaceView。
2、選擇相應的數字高程模型(DEM)輸入文件及所需要的DEM Resolution(像元數)復選框。
3、調整垂直方向的放大系數,輸入的值將使得垂直方向真正放大。值越高,放大越多。
4、執行User Defined Mode對話框以調整3D圖像的位置,角度等信息。
5、選取最佳視覺位置保存。
實驗專題: 專題七:監督分類試驗
1、首先選擇感興趣區域,即ROI。
2、選擇Classification > Supervised > 需要的分類方法,以平行六面體(Parallelepiped)為例。
3、輸入一般的分類參數(分類參數對話框中列出的那些),這一對話框包含了一個額外的參數—標準差數,用于ROI平均值周圍。在“Max stdev from Mean”文本框里,鍵入一個數值。標準差的默認值3被自動輸入到這一文本框里。
4、執行,并保存結果。如圖所示
第四篇:數字圖像處理——彩色圖像實驗報告
6.3實驗步驟
(1)對彩色圖像的表達和顯示
* * * * * * * * * * * *顯示彩色立方體* * * * * * * * * * * * *
rgbcube(0,0,10);
%從正面觀察彩色立方體
rgbcube(10,0,10);%從側面觀察彩色立方 rgbcube(10,10,10);%從對角線觀察彩色立方體
%* * * * * * * * * *索引圖像的顯示和轉換* * * * * * * * * f=imread('D:PictureFig0604(a)(iris).tif');figure,imshow(f);
%f是RGB真彩圖像
%rgb圖像轉換成8色索引圖像,不采用抖動方式
[X1,map1]=rgb2ind(f,8,'nodither');figure,imshow(X1,map1);
%采用抖動方式轉換到8色索引圖像
[X2,map2]=rgb2ind(f,8,'dither');figure,imshow(X2,map2);%顯示效果要好一些 g=rgb2gray(f);
%f轉換為灰度圖像
g1=dither(g);
%將灰色圖像經過抖動處理,轉換打二值圖像figure,imshow(g);
%顯示灰度圖像
figure,imshow(g1);
%顯示抖動處理后的二值圖像
程序運行結果:
*
彩色立方體原圖
不采用抖動方式轉換到8色索引圖像采用抖動方式轉換到8色索引圖像
灰度圖像抖動處理后的二值圖像
(2)彩色空間轉換
f=imread('D:PictureFig0604(a)(iris).tif');figure,imshow(f);
%轉換到NTSC彩色空間
%f是RGB真彩圖像
ntsc_image=rgb2ntsc(f);
figure,imshow(ntsc_image(:,:,1));%顯示亮度信息 figure,imshow(ntsc_image(:,:,2));%顯示色差信息 figure,imshow(ntsc_image(:,:,3));%顯示色差信息
%轉換到HIS彩色空間
hsi_image=rgb2hsi(f);
figure,imshow(hsi_image(:,:,1));%顯示色度信息 figure,imshow(hsi_image(:,:,2));%顯示飽和度信息 figure,imshow(hsi_image(:,:,3));%顯示亮度信息
程序運行結果:
原圖
轉換到NTSC彩色空間
顯示亮度信息顯示色差信息顯示色差信息
轉換到HIS彩色空間
顯示色差信息顯示飽和度信顯示亮度信息
(3)彩色變換
f=imread('D:PictureFig0614(a)(Chalk Original).tif');
G=ice('image',f);
%打開ice窗口對圖像進行調整
%在窗口中執行以下操作:
%a)得到圖像的補色
%b)拖動映射曲線,對圖像顯示效果進行修改
%c)在顏色通道中選中某一顏色,然后對映射曲線進行修改
程序運行結果(1):
全彩色圖片ICE窗口
它的補色ICE窗口
拖動映射曲線,圖像的顯示效果
ICE窗口
f2=imread('D:Picture JLK Magenta.tif');figure,imshow(f2);%在CMYK彩色空間內打開圖像 選擇Red
ICE窗口
g2=ice('image',f2,'space','CMYK');
%f2的圖像色彩偏紅,拖動映射曲線,%調整映射參數,使圖像的色彩看起來比較正常。
程序運行結果(2)
原圖
在CMYK彩色空間內打開圖像
調整映射參數后
ICE窗口
(4)彩色空間濾波
%* * * * * * * * * * * * * * * * * * * * 彩色圖像平滑 * * * * * * * * * * * * * * * * * * * * * *
fc=imread('D:PictureFig0604(a)(iris).tif');figure,imshow(fc);h=rgb2hsi(fc);
H=h(:,:,1);
S=h(:,:,2);
I=h(:,:,3);
%轉換到HIS彩色空間
%色度分量
%飽和度分量
%亮度分量
%25×25的方形平滑算子 w=fspecial('average',25);
I_filtered=imfilter(I,w,'replicate');%對亮度分量進行平滑操作 H1=cat(3,H,S,I_filtered);%將H、S、I三個分量重新組合起來f=hsi2rgb(H1);
f=min(f,1);
%轉換到RGB彩色空間
%f的值控制在[0,1]之間
figure,imshow(f);
%彩色圖像平滑處理 %* * * **** * * * * * * * * * * * * 彩色圖像銳化 * * * * * * * * * * * * * * * * * * * * * *
fb=imread('D:PictureFig0604(a)(iris).tif');lapmask=[1 1 1;1-8 1;1 1 1];%拉普拉斯算子 g=imfilter(fb,lapmask,'replicate');%拉普拉斯算子處理 figure,imshow(g);
%圖像銳化后與原圖像相減
fen=imsubtract(fb,g);
figure,imshow(fen);%顯示差值圖像
程序運行結果:
原圖彩色圖像平滑處理
拉普拉斯算子處理
銳化處理
(5)彩色圖像分割
%* * * * * * * * * * * * * * * * * 彩色邊緣檢測* * * * * * * * * * * *
close all;clear;clc;
f=imread('iris.tif');%f如圖6-4所示
%直接計算彩色邊緣VG,并得到對單獨彩色平面的二維梯度求和形成的梯度PPG
[VG,A,PPG]=colorgrad(f);
figure,imshow(VG,[ ]);
%顯示彩色梯度圖像 figure,imshow(A,[ ]);
%顯示彩色梯度對應的角度圖像
figure,imshow(PPG,[ ]);
%顯示分量梯度圖像
g=VG-PPG;
%計算兩種梯度方法得到的梯度之差 figure,imshow(g,[ ]);
程序運行結果:
%顯示差值圖像
彩色梯度圖像 彩色梯度對應的角度圖像
分量梯度圖像兩種梯度差值圖像
%* * * * * * * * * * * * * * * * * 彩色圖像分割 * * * * * * * * * * * * * * * * * * * * * * * * *
f=imread('jupitermoon.tif');%f如圖6-4所示 mask=roipoly(f);
%取得選定區域圖像的紅色分量
%手工選定圖中紅色區域
R=immultiply(mask,f(:,:,1));
%取得選定區域圖像的綠色分量
G=immultiply(mask,f(:,:,2));%取得選定區域圖像的藍色分量
B=immultiply(mask,f(:,:,3));
g=cat(3,R,G,B);
%取得選定區域的RGB圖像 figure,imshow(g);
%顯示取得選定區域
[M,N,K]=size(g);
%選定區域的大小
I=reshape(g,M*N,3);
%對g中的像素進行重排,按列序拉成一行 idx=find(mask);
%找到mask中的像素在重排后的圖像g中位置 I=double(I(idx,1:3));
%轉換到double類型 [C,m]=covmatrix(I);
%計算協方差矩陣C主對角線上的元素,即方差 %>>sd=sqrt(d)%求得這些元素的平方根,即均方差
均方差
%用歐式距離對圖像進行彩色分割,閾值為25
E25=colorseg('euclidean',f,25,m);E251=f;E251(E25==0)=0 figure,imshow(E251,[]);
%用馬氏距離對圖像進行彩色分割,閾值為25 M25=colorseg('mahalanobis',f,25,m,C);figure , imshow(M25 , [ ]);程序運行結果:
原圖選定區域
歐氏距離彩色分割馬氏距離彩色分割
6.4 思考題
(1)請將圖6-1所示的彩色圖像轉換到灰度圖像,并根據灰度值對此灰度圖像進行索引化,手工指定索引表中的RGB值,并把此索引圖像顯示出來。
程序代碼如下
%思路:把原圖想轉換為128位索引圖
close all;clear;clc;%將f從灰度圖像轉換為索引圖像,x是索引圖像; %map是索引矩陣,R,G,B的值都相等
f=imread('D:PictureRGB_iris.tif');figure,imshow(f);
%f是RGB圖像 f1=rgb2gray(f);
%將f轉換成灰度圖像 figure,imshow(f1);[x,map]=gray2ind(f1,128);
figure,imshow(x);%將map中的值做下面改變則R,G,B的值不相等,產生彩色
%把灰度圖像轉化成128位的索引圖
map(1,:)=0.5;map(: ,1)=0.5;map(2,:)=0.4;map(1,1)=0;figure,imshow(f1,map);
程序運行結果:
原RGB圖像
灰度圖像
索引圖 修改索引表后的圖像
(2)6.3節的(4)是將圖像轉換到HIS空間后再對亮度分量進行平滑操作,試直接對原圖像的RGB三個分量分別進行平滑操作,并計算兩種操作方法的圖像差值。
程序代碼如下:
f=imread('D:PictureRGB_iris.tif');figure,imshow(f);%直接對原圖像的RGB三個分量分別進行平滑操作 H=f(:,:,1);
S=f(:,:,2);
I=f(:,:,3);
%色度分量
%飽和度分量
%亮度分量
%25×25的方形平滑算子 w=fspecial('average',25);
H_filtered=imfilter(H,w,'replicate');
%對色度分量進行平滑操作 S_filtered=imfilter(S,w,'replicate');
%對飽和度分量進行平滑操作 I_filtered=imfilter(I,w,'replicate');
%對亮度分量進行平滑操作 %將H、S、I三個分量重新組合起來
Ha=cat(3,H_filtered,S_filtered,I_filtered);Ha=im2double(Ha);
%轉化成double類型 figure,imshow(Ha);%轉換到HIS彩色空間 h=rgb2hsi(f);
%轉換到HIS彩色空間
H=h(:,:,1);
S=h(:,:,2);
I=h(:,:,3);
%色度分量
%飽和度分量 %亮度分量 %25×25的方形平滑算子 w=fspecial('average',25);
I_filtered=imfilter(I,w,'replicate');%對亮度分量進行平滑操作 %將H、S、I三個分量重新組合起來 H1=cat(3,H,S,I_filtered);fb=hsi2rgb(H1);
%轉換到RGB彩色空間 fb=min(fb,1);
figure,imshow(fb);
%f的值控制在[0,1]之間
%彩色圖像平滑處理
fen=imsubtract(Ha,fb);figure,imshow(fen);程序運行結果:
%計算兩中方式處理后圖像的差值
原圖
直接對RGB三分量進行平滑操作轉換到HIS空間對亮度進行平滑操作
差值圖像
試驗中的問題和心得體會:
本次實驗是彩色圖像處理。
(1)通過這個實驗我了解了RGB圖像以及索引圖像在MATLAB中的存儲和詢問方式
(2)了解RGB空間到其他彩色空間的轉換方式和轉換方法(3)知道了一些彩色圖像的空間濾波方法(4)了解在RGB向量空間中檢測彩色邊緣的方法(5)了解在RGB向量空間中對圖像進行分割的方法
遇到的問題:在做思考題(2)的時候,計算兩種平滑處理的得到圖像的差值的中程序出現了問題,經過看出錯信息,認真檢查程序后,發現是因為直接平滑處理的圖像是unit8類型的,而轉換到HIS空間后,得到的圖像是double類型,二者的類型不同,導致使用imsubtract函數的時候出現了問題。感覺做matlab的實驗和平時編寫C代碼的時候有很多地方是相同的,都會經歷:編碼,debug,正確這三個過程,這個過程本身就具有挑戰性和趣味性。
第五篇:數字圖像處理圖像變換實驗報告
數字圖象處理實驗指導書
實驗一 圖象變換實驗
實 驗
實驗名稱:圖像處理姓名:劉強
班級:電信
學號:
報 告
1102
1404110128
數字圖象處理實驗指導書
實驗一 圖象變換實驗
實驗一 圖像變換實驗——圖像點運算、幾何變換及正交變換
一、實驗條件
PC機 數字圖像處理實驗教學軟件
大量樣圖
二、實驗目的
1、學習使用“數字圖像處理實驗教學軟件系統”,能夠進行圖像處理方面的簡單操作;
2、熟悉圖像點運算、幾何變換及正交變換的基本原理,了解編程實現的具體步驟;
3、觀察圖像的灰度直方圖,明確直方圖的作用和意義;
4、觀察圖像點運算和幾何變換的結果,比較不同參數條件下的變換效果;
5、觀察圖像正交變換的結果,明確圖像的空間頻率分布情況。
三、實驗原理
1、圖像灰度直方圖、點運算和幾何變換的基本原理及編程實現步驟
圖像灰度直方圖是數字圖像處理中一個最簡單、最有用的工具,它描述了一幅圖像的灰度分布情況,為圖像的相關處理操作提供了基本信息。
圖像點運算是一種簡單而重要的處理技術,它能讓用戶改變圖像數據占據的灰度范圍。點運算可以看作是“從象素到象素”的復制操作,而這種復制操作是通過灰度變換函數實現的。如果輸入圖像為A(x,y),輸出圖像為B(x,y),則點運算可以表示為:
B(x,y)=f[A(x,y)] 其中f(x)被稱為灰度變換(Gray Scale Transformation,GST)函數,它描述了輸入灰度值和輸出灰度值之間的轉換關系。一旦灰度變換函數確定,該點運算就完全確定下來了。另外,點運算處理將改變圖像的灰度直方圖分布。點運算又被稱為對比度增強、對比度拉伸或灰度變換。點運算一般包括灰度的線性變換、閾值變換、窗口變換、灰度拉伸和均衡等。
圖像幾何變換是圖像的一種基本變換,通常包括圖像鏡像變換、圖像轉置、圖像平移、圖像縮放和圖像旋轉等,其理論基礎主要是一些矩陣運算,詳細原理可以參考有關書籍。
實驗系統提供了圖像灰度直方圖、點運算和幾何變換相關內容的文字說明,用戶在操作過程中可以參考。下面以圖像點運算中的閾值變換為例給出編程實現的程序流程圖,如下:
數字圖象處理實驗指導書
實驗一 圖象變換實驗
2、圖像正交變換的基本原理及編程實現步驟 數字圖像的處理方法主要有空域法和頻域法,點運算和幾何變換屬于空域法。頻域法是將圖像變換到頻域后再進行處理,一般采用的變換方式是線性的正交變換(酉變換),主要包括傅立葉變換、離散余弦變換、沃爾什變換、霍特林變換和小波變換等。正交變換被廣泛應用于圖像特征提取、圖像增強、圖像復原、圖像壓縮和圖像識別等領域。
正交變換實驗的重點是快速傅立葉變換(FFT),其原理過于復雜,可以參考有關書籍,這里不再贅述。至于FFT的編程實現,系統采用的方法是:首先編制一個一維FFT程序模塊,然后調用該模塊對圖像數據的列進行一維FFT,再對行進行一維FFT,最后計算并顯示幅度譜。程序流程圖如下:
四、實驗內容
圖像灰度直方圖
點運算:圖像反色、灰度線性變換、閾值變換、窗口變換、灰度拉伸和灰度
數字圖象處理實驗指導書
實驗一 圖象變換實驗
均衡
幾何變換:圖像鏡像變換、圖像轉置、圖像平移、圖像縮放和圖像旋轉 正交變換:傅立葉變換、離散余弦變換、沃爾什變換、霍特林變換和小波正反變換
注意:
1、所有實驗項目均針對8位BMP灰度圖像進行處理,其它格式(如JPG)的圖像可以利用系統提供的圖像格式轉換工具進行轉換,再進行處理;
2、本次實驗的重點是圖像的灰度直方圖和點運算,幾何變換和正交變換只作一般性了解。
五、實驗步驟
以圖像灰度閾值變換為例說明實驗的具體步驟,其它實驗項目的步驟與此類似。
1、打開計算機,在系統桌面上雙擊“數字圖像處理實驗教學軟件系統”的可執行文件“圖象處理”的圖標,進入實驗系統;
2、執行文件→打開,在OPEN對話框中選擇待處理的圖像,按【OK】后系統顯示出圖像;
3、執行查看→圖像基本信息,將顯示圖像基本信息對話框,如圖所示;
數字圖象處理實驗指導書
實驗一 圖象變換實驗
4、執行查看→灰度直方圖,查看圖像的灰度直方圖,如圖所示;
5、執行圖像變換→正交變換→傅立葉變換,查看圖像的頻率域分布情況,如圖所示;
數字圖象處理實驗指導書
實驗一 圖象變換實驗
6、執行圖像變換→正交變換→小波變換,查看圖像經過小波變換的效果,如圖所示;
7、執行圖像變換→點運算→閾值變換,修改閾值變換對話框中的閾值參數,如圖所示;
數字圖象處理實驗指導書
實驗一 圖象變換實驗
8、設置完閾值參數后按【OK】,系統顯示閾值變換后的圖像,與原圖像進行比較,觀察閾值變換的效果,如圖所示;
9、重復步驟4,查看閾值變換后圖像的直方圖分布情況;
數字圖象處理實驗指導書
實驗一 圖象變換實驗
10、重復步驟5,查看閾值變換后圖像的頻率域分布情況;
11、執行文件→保存或另存為,保存處理后的圖像;
12、執行文件→重新加載,重新加載原始圖像,但要注意先前對圖像的處理將會丟失; 注意:
13、在執行步驟2時可能會出現有些圖像文件不能打開的情況,如圖所示,此時可以先利用圖像格式轉換工具將圖像文件轉換為8位BMP圖像,再利用系統進行處理。步驟14和15是使用圖像格式轉換工具的方法;
14、在桌面上雙擊圖像格式轉換工具Jpg2bmp的圖標,進入轉換工具界面,如圖所示;
15、按照界面提示,把JPG格式的圖像文件轉換成8位BMP圖像。
數字圖象處理實驗指導書
實驗一 圖象變換實驗
步驟13示意圖
步驟14示意圖
六、思考題
1、圖像灰度線性變換、閾值變換、窗口變換、灰度拉伸和灰度均衡之間有何區別?
灰度線性變換就是將圖像的像素值通過指定的線性函數進行變換,以此增強或者減弱圖像的灰度。
灰度的閾值變換可以讓一幅圖像變成黑白二值圖。
灰度的窗口變換也是一種常見的點運算。它的操作和閾值變換類似。從實現方法上可以看作是灰度折線變換的特列。窗口灰度變換處理結合了雙固定閾值法,與其不同之處在于窗口內的灰度值保持不變。
灰度拉伸又叫做對比度拉伸,它與線性變換有些類似,不同之處在于灰度拉伸使用的是分段線性變換,所以它最大的優勢是變換函數可以由用戶任意合成。
灰度均衡是增強圖像的有效方法之一。灰度均衡同樣屬于改進圖像的方法,灰度均衡的圖像具有較大的信息量。從變換后圖像的直方圖來看,灰度分布更加均勻。
2、利用圖像鏡像和旋轉變換可以實現圖像轉置嗎?如果可以,應該怎樣實現?
可以。進行一次鏡像變換,順(逆)時針旋轉兩次,再以與第一次相反的方向鏡像變換。
數字圖象處理實驗指導書
實驗一 圖象變換實驗
實驗二 圖像增強及復原實驗
七、實驗條件
PC機 數字圖像處理實驗教學軟件
大量樣圖
八、實驗目的
1、熟練使用“數字圖像處理實驗教學軟件系統”;
2、熟悉圖像增強及復原的基本原理,了解編程實現的具體步驟;
3、觀察圖像中值濾波、平滑、銳化和偽彩色編碼的結果,比較不同參數條件下的圖像增強效果;
4、觀察圖像退化和復原的結果,比較不同復原方法的復原效果。
九、實驗原理
1、圖像增強和復原的基本原理
對降質圖像的改善處理通常有兩類方法:圖像增強和圖像復原。
圖像增強不考慮圖像降質的原因,只將圖像中感興趣的特征有選擇地進行突出,并衰減圖像的次要信息,改善后的圖像不一定逼近原始圖像,只是增強了圖像某些方面的可讀性,如突出了目標輪廓,衰減了各種噪聲等。圖像增強可以用空域法和頻域法分別實現,空域法主要是在空間域中對圖像象素灰度值直接進行運算處理,一般包括中值濾波、模板平滑和梯度銳化等,空域法可以用下式來描述:
g(x,y)=f(x,y)*h(x,y)其中f(x,y)是處理前圖像,g(x,y)表示處理后圖像,h(x,y)為空間運算函數。圖像增強的頻域法是在圖像的頻率域中對圖像的變換值進行某種運算處理,然后變換回空間域,系統涉及的各種濾波器屬于頻域法增強,這是一種間接處理方法,可以用下面的過程模型來描述:
其中:F(u,v)=?[ f(x,y)],G(u,v)= F(u,v)H(u,v),g(x,y)=??1[ G(u,v)],?和??1分別表示頻域正變換和反變換。實驗系統提供了圖像增強相關內容的文字說明,用戶在操作過程中可以參考。
圖像復原是針對圖像降質的原因,設法去補償降質因素,使改善后的圖像盡可能逼近原始圖像,提高了圖像質量的逼真度。關于圖像復原的詳細原理可以參考相關書籍,這里不再贅述。本系統提供了圖像的噪聲退化、卷積退化和運動模糊退化操作,并提供了相應的逆濾波復原、維納復原和運動模糊復原操作。本次
數字圖象處理實驗指導書
實驗一 圖象變換實驗
實驗中圖像復原只作一般性了解。
2、編程實現步驟
下面以圖像增強中的中值濾波操作為例給出編程實現的程序流程圖,如下:
十、實驗內容
圖像增強:中值濾波、圖像模板平滑、理想低通濾波器平滑、巴特沃斯低通濾波器平滑、梯度銳化、拉普拉斯銳化、理想高通濾波器銳化、巴特沃斯高通濾波器銳化和偽彩色編碼
圖像復原:圖像的噪聲退化、卷積退化、卷積加噪聲退化、運動模糊退化、逆濾波復原、維納復原和運動模糊復原
注意:
3、所有實驗項目均針對8位BMP灰度圖像進行處理;
4、本次實驗的重點是圖像增強中的中值濾波和模板平滑,圖像復原只作一般性了解。
十一、實驗步驟
以圖像中值濾波操作為例說明實驗的具體步驟,其它實驗項目的步驟與此類似。
11、打開計算機,在系統桌面上雙擊“數字圖像處理實驗教學軟件系統”的可執行文件“圖象處理”的圖標,進入實驗系統;
12、執行文件→打開,在OPEN對話框中選擇待處理的圖像,按【OK】后系統顯示出圖像;
數字圖象處理實驗指導書
實驗一 圖象變換實驗
13、執行查看→圖像基本信息,將顯示圖像基本信息對話框,如圖所示;
14、執行查看→灰度直方圖,查看圖像的灰度直方圖,如圖所示;
數字圖象處理實驗指導書
實驗一 圖象變換實驗
15、執行圖像變換→正交變換→傅立葉變換,查看圖像的頻率域分布情況,如圖所示;
16、執行圖像增強→中值濾波,選擇或自定義對話框中的濾波器參數,如圖所示;
數字圖象處理實驗指導書
實驗一 圖象變換實驗
17、設置完濾波器參數后按【OK】,系統顯示中值濾波后的圖像,與原圖像進行比較,觀察中值濾波的效果,如圖所示;
18、重復步驟4,查看中值濾波后圖像的直方圖分布情況;
數字圖象處理實驗指導書
實驗一 圖象變換實驗
19、重復步驟5,查看中值濾波后圖像的頻率域分布情況;
10、執行文件→保存或另存為,保存處理后的圖像;
11、執行文件→重新加載,重新加載原始圖像,但要注意先前對圖像的處理將會丟失。
數字圖象處理實驗指導書
實驗一 圖象變換實驗
十二、思考題
1、圖像中值濾波和模板平滑之間有何區別?
圖像平滑處理就是用平滑模板對圖像進行處理,以減少圖像的噪聲。而中值濾波是一種非線性的信號處理方法。
2、圖像增強和圖像復原之間有何區別?
圖像增強:利用一定的技術手段,不用考慮圖像是否失真(即原 始圖像在變換后可能會失真)而且不用分析圖像降質的原因。針對給定圖像的應用場合,有目的地強調圖像的整體或局部特性,將原來不清晰的圖像變得清晰或強調某些感興趣的特征,擴大圖像中不同物體特征之間的差別,抑制不感興趣的特征,使之改善圖像質量、豐富信息量,加強圖像判讀和識別效果,滿足某些特殊分析的需要。
圖像復原:針對質量降低或者失真的圖像,恢復圖像原始的內容或者質量。圖像復原的過程包含對圖像退化模型的分析,再對退化的圖像進行復原。圖像退化是由于成像系統受各種因素的影響,導致了圖像質量的降低,稱之為圖像退化。這些因素包括傳感器噪聲、攝像機聚焦不佳、物體與攝像機之間的相對移動、隨機大氣湍流、光學系統的象差、成像光源和射線的散射等。圖像復原大致可以分為兩種方法:
一種方法適用于缺乏圖像先驗知識的情況,此時可對退化過程建立模型進行描述,進而尋找一種去除或消弱其影響的過程,是一種估計方法;
另一種方法是針對原始圖像有足夠的先驗知識的情況,對原始圖像建立一個數學模型并根據它對退化圖像進行擬合,能夠獲得更好的復原效果。
3、圖像維納復原為什么比逆濾波復原效果好?
維納濾波復原的原理可表示為
對于維納濾波,由上式可知,當
時,由于存在 項,所以數字圖象處理實驗指導書
實驗一 圖象變換實驗
不會出現被0除的情形,同時分子中含有項,在處。當時,此時維納濾波就變成 了逆濾波;當時,表明維納濾波避免了逆濾波中 出現的對噪聲過多的放大作用,也就是說圖像維納復原比逆濾波復原效果好。