小組序號:第③組
組員:蔣華熔1104210121
劉野1104210125
趙若昕1104210114
高新宇1104210117
查智超1104210116
指導老師:張玉珍
2023年5月28日
實驗二一、實驗目的
掌握影象平滑基本原理,掌握4點平滑,8點平滑,中值濾波平滑基本原理,掌握計算機軟體處理影象的方法。
二、實驗內容
編寫4點平滑,8點平滑,中值濾波的c或c++或matlab語言程式以及相應的顯示程式。
三、實驗步驟
1、原理過程分析;
2、程式流程分析;
3、編寫程式;
4、執行除錯;
5、結果展示
四、原理及程式
(1)4、8點平滑
原理:用畫素值鄰域(4聯通或8聯通)的平均值代替該店畫素值,實現平滑效果,能有效的去除雜訊。
數字影象處理中簡化為下列公式:
b(i,j)=a(i,j-1)/5+a(i,j)/5+a(i,j+1)/5+a(i-1,j)/5+a(i+1,j)/5
b(i,j)=a(i,j-1)/9+a(i,j)/9+a(i,j+1)/9+a(i-1,j)/9+a(i+1,j)/9+a(i-1,j-1)/9+a(i+1,j-1)/9+a(i-1,j+1)/9+a(i+1,j+1)/9
4點平滑實驗**:
a=imread('d:\');%載入影象
imshow(a顯示影象
title('原始影象')
[m,n]=size(a測量影象行列數
b=a複製影象
for i=2:1:m-1;
for j=2:1:n-1掃瞄影象
b(i,j)=a(i,j-1)/5+a(i,j)/5+a(i,j+1)/5+a(i-1,j)/5+a(i+1,j)/5;%四點平滑,將處理後的影象儲存在b中
end;
end;
figure;
imshow(b)%顯示處理後的影象
title('四點均值濾波去雜訊影象')
8點平滑實驗** :
a=imread('d:\');%載入影象
imshow(a顯示影象
title('原始影象')
[m,n]=size(a測量影象行列數
b=a複製影象
for i=2:1:m-1;
for j=2:1:n-1掃瞄影象
b(i,j)=a(i,j-1)/9+a(i,j)/9+a(i,j+1)/9+a(i-1,j)/9+a(i+1,j)/9 ...
a(i-1,j-1)/9+a(i+1,j-1)/9+a(i-1,j+1)/9+a(i+1,j+1)/9;%八點平滑,將處理後的影象儲存在b中
end;
end;
figure;
imshow(b) %顯示處理後的影象
title('八點平滑濾波去雜訊影象')
(2)中值濾波
原理:中值濾波法是一種非線性平滑技術,它將每一畫素點的灰度值設定為該點某鄰域視窗內的所有畫素點灰度值的中值。中值濾波是基於排序統計理論的一種能有效抑制雜訊的非線性訊號處理技術,中值濾波的基本原理是把數字影象或數字序列中一點的值用該點的乙個鄰域中各點值的中值代替,讓周圍的畫素值接近的真實值,從而消除孤立的雜訊點。
實驗**如下:
i=imread('d:\');
subplot(1,3,1);imshow(i) %顯示原圖
title('原影象')
d=imnoise(i,'salt & pepper',0.05);%新增椒鹽雜訊
%中值濾波
subplot(132)
imshow(d);title('加椒鹽雜訊影象')
[m,n]=size(i取得原圖矩陣尺寸
c=zeros(1,9建立乙個存放9個數字的陣列
for i=2:m-1邊緣部分不能進行中值濾波,從中間開始
for j=2:n-1
a=1;
for p=(i-1):(i+1)
for q=(j-1):(j+1)
c(a)=d(p,q);
a=a+1;
endendfor c=1:8以i(i,j)為中心的周圍9個數進行氣泡排序
for d=1:8
if(c(d)>c(d+1))
t=c(d);
c(d)=c(d+1);
c(d+1)=t;
endend end
i(i,j)=c(5把第5個數(中值)放到i(i,j)中
endendsubplot(1,3,3);imshow(i)
title('中值濾波去噪圖')
五、實驗結果
4點平滑顯示結果:
8點平滑顯示結果:
中值濾波顯示結果:
實驗三一、實驗目的
掌握影象銳化的基本原理,掌握拉普拉斯運算元銳化的方法,熟悉計算機上進行影象銳化的方法。
二、實驗內容
編寫簡單銳化(簡單梯度演算法、roberts運算元)及拉普拉斯運算元銳化的c語言或matlab語言程式,將原始影象及增強後的影象都顯示在螢幕上,比較增強的效果。
三、實驗步驟
1、原理過程分析;
2、程式流程分析;
3、編寫程式;
4、執行除錯;
5、結果展示。
四、原理及程式
(1)梯度銳化
原理:主要基於微分作用,對於一幅影象,突出的邊緣區,其梯度值較大;平滑區,梯度值較小;灰度級為常數的區域,梯度為零。
程式**如下:
a=imread('d:\');%載入影象
figure;
imshow(a);
%顯示影象
title('原影象');
[m,n]=size(a);
for i=1:1:m-1;
for j=1:1:n-1掃瞄影象
if a(i+1,j)>a(i,j);
x=a(i+1,j)-a(i,j);
else x=a(i,j)-a(i+1,j); %取橫向梯度絕對值
end;
if a(i,j+1)>a(i,j);
y=a(i,j+1)-a(i,j);
else y=a(i,j)-a(i,j+1); %取縱向梯度絕對值
end;
a(i,j)=x+y梯度演算法
end;
end;
figure;
imshow(a); %顯示處理後的影象
title('梯度運算元影象');
(2)roberts運算元銳化
原理:roberts運算元是一種最簡單的運算元,是一種利用區域性差分運算元尋找邊緣的運算元,他採用對角線方向相鄰兩象素之差近似梯度幅值檢測邊緣。檢測垂直邊緣的效果好於斜向邊緣,定位精度高,對雜訊敏感,無法抑制雜訊的影響。
roberts邊緣運算元是乙個2x2的模板,採用的是對角方向相鄰的兩個畫素之差。從影象處理的實際效果來看,邊緣定位較準,對雜訊敏感。
實驗程式如下:
a=imread('d:\');%載入影象
figure;
imshow(a顯示影象
title('原影象');
[m,n]=size(a統計影象行列數
for i=1:1:m-1;
for j=1:1:n-1掃瞄影象
if a(i+1,j+1)>a(i,j);
x=a(i+1,j+1)-a(i,j);
else x=a(i,j)-a(i+1,j+1);
end;
if a(i+1,j)>a(i,j+1);
y=a(i+1,j)-a(i,j+1);
else y=a(i,j+1)-a(i+1,j);
end;
a(i,j)=x+yroberts演算法
end;
end;
figure;
imshow(a);
%顯示處理後的影象
title('roberts運算元影象');
(3)拉普拉斯運算元銳化
原理:拉普拉斯運算元是與乙個邊緣方向無關的邊緣點檢測運算元。它對孤立畫素的響應要比對邊緣或線的響應更強烈, 因此使用該運算元進行影象銳化之前需要對影象作平滑處理。
拉普拉斯運算元是一種二階微分運算元乙個連續的二元函式f (x , y ) , 其拉普拉斯運算定義為
對於數字影象,拉普拉斯運算元可以簡化為
g(i,j)= 5f(i,j)- f(i+1,j)- f(i-1,j)- f(i,j+1)- f(i,j-1)
程式**如下:
a=imread('d:\');%載入影象
figure;
imshow(a);
title('原影象');%顯示影象
[m,n]=size(a統計影象行列數
數字影象處理實驗報告
本次實驗的實驗目的及主要內容是濾波反投影重建,實驗目的包括以下幾點 了解影象投影的原理 認識radon變換 了解反投影重建影象的原理 認識逆radon變換 了解實現逆radon變換的方法。1.圖象投影原理 投影變換 projection transformation 是將一種地圖投影點的座標變換為另...
數字影象處理實驗報告
實驗報告 姓名 學號 學院 資訊工程學院 專業 電子資訊工程 年級班別 指導老師 影象的空間域平滑和銳化 一 實驗目的 1 掌握影象模板運算的流程。2 進一步理解影象的平滑 銳化原理。3 了解影象平滑 銳化的效果和作用。二 實驗內容和要求 程式設計分別實現影象的平滑和銳化。三 實驗主要儀器裝置和材料...
數字影象處理 實驗報告
學院理學院 班級 資訊軟體 學號 130108010026 姓名劉洋 指導教師 聶棟棟 教務處2016年 3 月 實驗一一 實驗內容 計算峰值訊雜比 將影象按質量等級分別為10 30 50 70 90儲存成jpg檔案,並分別命名為 觀察並說明jpg檔案質量的變化情況 計算壓縮比,並畫出壓縮比隨質量等...