数字图像处理实验MATLAB版+实验报告亲笔
實驗一? 圖像打開、保存與顯示
?
一、實驗目的:
掌握數(shù)字圖像的基本類型及其表示。熟悉Matlab軟件環(huán)境,了解Matlab中對圖像數(shù)據的讀入、顯示和輸出等操作,實現(xiàn)圖像文件的打開、顯示與保存功能。
二、實驗環(huán)境:
計算機、WindowsXP操作系統(tǒng),Matlab7.0
三、實驗內容:
實驗前準備工作:
所使用的圖像文件都保存在Matlab安裝目錄下的\toolbox\images\imdemos子目錄下。將實驗中需要使用的圖像文件,事先拷貝到Matlab安裝目錄下的\work子目錄下。(Matlab默認處理當前工作目錄下的圖像文件)
?
1、運用Matlab圖像處理工具箱中的imread函數(shù)分別讀入灰度圖像pout.tif、二值圖像blobs.png、索引圖像trees.tif和RGB圖像peppers.png,觀察相應的圖像矩陣,并運用imshow函數(shù)顯示相應圖像。
?
2、對一個RGB彩色圖像peppers.png,分別抽取其R、G、B三個分量層,并顯示各層圖像。
?
3、向灰度圖像pout.tif中分別加入高斯噪聲和椒鹽噪聲,顯示并保存帶有噪聲的圖像。
?
實驗二?? 圖像灰度直方圖統(tǒng)計
?
一、實驗目的:
理解并掌握灰度直方圖的概念、計算灰度直方圖的方法以及如何應用直方圖均衡化來增強圖像對比度。
二、實驗環(huán)境:
計算機、WindowsXP操作系統(tǒng),Matlab7.0
三、實驗內容:
以灰度圖像pout.tif為例,運用Matlab編程實現(xiàn)灰度直方圖的統(tǒng)計以及直方圖均衡化處理過程:
(1)計算并繪制原始圖像的灰度直方圖;
(2)根據離散累計分布函數(shù),對原始灰度直方圖進行均衡化處理,繪制均衡化后的灰度直方圖;
(3)生成均衡化處理后的新圖像,顯示并保存。
(4)比較原始圖像和新圖像的對比度。
?
注:基于MATLAB強大的處理圖像和支持數(shù)學計算的功能,該課程所有實驗皆用MATLAB實現(xiàn)。
實驗一:
代碼實現(xiàn):
>> I_huidu=imread('pout.tif'); >> figure(1),imshow(I_huidu);>> I_erzhi=imread('blobs.png'); >> figure(2),imshow(I_erzhi);>> I_erzhi2=imread('circles.png'); >> figure(3),imshow(I_erzhi2);>> [I_suoyin,colormap]=imread('trees.tif'); >> figure(4),imshow(I_suoyin); >> imshow(I_suoyin,colormap);>> I_reb=imread('peppers.png'); >> R=I_reb(:,:,1); >> figure(5),imshow(R); >> subplot(2,2,1),imshow(I_reb); >> subplot(2,2,2),imshow(R); >> G=I_reb(:,:,2); >> B=I_reb(:,:,3); >> subplot(2,2,3),imshow(G); >> subplot(2,2,4),imshow(B);>> I=imread('pout.tif'); >> G=imnoise(I,'gaussian'); >> figure(6),subplot(1,3,1),imshow(I); >> subplot(1,3,2),imshow(G); >> J=imnoise(I,'salt & pepper'); >> J=imnoise(I,'salt & pepper',0.05); >> subplot(1,3,3),imshow(J);>> imwrite(G,'gpout.tif'); >> imwrite(J,'jpout.tif');實驗報告:
實驗二:代碼實現(xiàn):(.m文件)
grayimage=imread('pout.tif'); [m,n]=size(grayimage); gp=zeros(1,256); for i=1:256gp(i)=length(find(grayimage==(i-1)))/(m*n); end subplot(2,2,1),imshow(grayimage); subplot(2,2,2),bar(0:255,gp); S1=zeros(1,256); S2=zeros(1,256); temp=0; for i=1:256temp=temp+gp(i);S1(i)=temp; end S2=round(S1*255); newgp=zeros(1,256); for i=1:256newgp(i)=sum(gp(find(S2==(i-1)))); end subplot(2,2,4),bar(0:255,newgp); newgrayimage=grayimage; for i=1:256newgrayimage(find(grayimage==(i-1)))=S2(i); end subplot(2,2,3),imshow(newgrayimage); imwrite(newgrayimage,'newpout.tif');實驗報告:
總結
以上是生活随笔為你收集整理的数字图像处理实验MATLAB版+实验报告亲笔的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Flexbox中英文手册
- 下一篇: 天堂2服务端服务器名字修改,如何制作L2