數字影象採集與處理作業

2023-01-19 16:39:02 字數 5150 閱讀 6272

1. 用matlab語言完成如下實驗:

1) 開啟乙個bmp檔案

2) 將其區域性區域的灰度值進行改變

3) 另存為乙個新的bmp檔案

pic1=imread('');

[m,n]=size(pic1);

f=pic1(50:300,50:300);

pic2=imadjust(f,[0.5 0.75],);

pic3=pic1;

pic3(50:300,50:300)=pic2;

imshow(pic1),figure,imshow(pic3)

(1)原影象

(2)區域性灰度改變後的影象

2. matlab程式設計實現影象傅利葉高通、低通濾波,給出演算法原理及實現結果。

原影象(1) 高通濾波

i=imread('');

i=rgb2gray(i);

figure(1),imshow(i);

title('原影象');

s=fftshift(fft2(i));

[a,b]=size(s);

a0=round(a/2);

b0=round(b/2);

d=10;

p=0.2;q=0.5;

for i=1:a

for j=1:b

distance=sqrt((i-a0)^2+(j-b0)^2);

if distance<=d h=0;

else h=1;

end;

s(i,j)=(p+q*h)*s(i,j);

end;

end;

s=uint8(real(ifft2(ifftshift(s))));

figure(2);

imshow(s);title('高通濾波所得影象');

(2) 低通濾波

i=imread('');

i=rgb2gray(i);

figure(1),imshow(i);

title('原影象');

s=fftshift(fft2(i));

[a,b]=size(s);

a0=round(a/2);

b0=round(b/2);

d=10;

for i=1:a

for j=1:b

distance=sqrt((i-a0)^2+(j-b0)^2);

if distance<=d h=1;

else h=0;

end;

s(i,j)=h*s(i,j);

end;

end;

s=uint8(real(ifft2(ifftshift(s))));

figure(2);

imshow(s);

title('低通濾波所得影象');

3. 找一幅**不足的灰度(或彩色)影象,用matlab按照直方圖均衡化的方法進行處理。

clear all

%一,影象的預處理,讀入彩色影象將其灰度化

ps=imread(''); %讀入bmp彩色影象檔案

imshow(ps) %顯示出來 figure no 1

title('輸入的彩色bmp影象')

imwrite(rgb2gray(ps),'');%將彩色**灰度化並儲存

ps=rgb2gray(ps);%灰度化後的資料存入陣列

figure,imshow(ps)%顯示灰度化後的影象,也是均衡化前的樣品figure no 2

title('灰度化後的影象')

%二,繪製直方圖

[m,n]=size(ps); %測量影象尺寸引數

gp=zeros(1,256);%預建立存放灰度出現概率的向量

for k=0:255

gp(k+1)=length(find(ps==k))/(m*n);%計算每級灰度出現的概率,將其存入gp中相應位置

endfigure,bar(0:255,gp,'g繪製直方圖 figure no 3

title('原影象直方圖')

xlabel('灰度值')

ylabel('出現概率')

%三,直方圖均衡化

s1=zeros(1,256);

for i=1:256

for j=1:i

s1(i)=gp(j)+s1(i);%計算sk

endend

s2=round(s1*256); %將sk歸到相近級的灰度

for i=1:256

gpeq(i)=sum(gp(find(s2==i))); %計算現有每個灰度級出現的概率

figure,bar(0:255,gpeq,'b') %顯示均衡化後的直方圖 figure no 4

title('均衡化後的直方圖')

xlabel('灰度值')

ylabel('出現概率')

figure,plot(0:255,s2,'r') %顯示灰度變化曲線 figure no 5

legend('灰度變化曲線')

xlabel('原影象灰度級')

ylabel('均衡化後灰度級')

%四,影象均衡化

pa=ps;

for i=0:255

pa(find(ps==i))=s2(i+1);%將各個畫素歸一化後的灰度值賦給這個畫素

endfigure,imshow(pa顯示均衡化後的影象 figure no 6

title('均衡化後影象')

imwrite(pa,'');

(1) 輸入的彩色bmp影象

(2) 均衡化後的bmp影象

4. 用matlab開啟一幅影象,新增椒鹽、高斯雜訊,然後使用鄰域平均法、中值濾波法進行平滑。(4種結果,比較哪種方法適合濾除哪種雜訊)

(1) 新增椒鹽雜訊的影象

(2) 採用鄰域平均法處理

i0=imread('');

i=rgb2gray(i0);

j=imnoise(i,'salt & pepper',0.02);

k1=filter2(fspecial('**erage',7),j);

k2=filter2(fspecial('**erage',9),j);

figure,imshow(uint8(k1));title('7x7');

(3) 採用中值濾波法處理

i0=imread('');

i=rgb2gray(i0)

j=imnoise(i,'salt & pepper',0.02);

k=medfilt2(j,[7 7]);

figure,imshow(k);title('7x7');

(4) 新增高斯雜訊的影象

(5) 採用鄰域平均法處理

i0=imread('');

i=rgb2gray(i0);

j=imnoise(i,'gaussian',0,0.02)

k=filter2(fspecial('**erage',7),j);

figure,imshow(uint8(k));title('7x7');

(6) 採用中值濾波法處理後的影象

i0=imread('');

i=rgb2gray(i0)

j=imnoise(i,'gaussian',0.02);

k=medfilt2(j,[7 7]);

figure,imshow(k);title('7x7');

對含有同一種雜訊型別的不同影象採用2種濾波方法進行分析可知:原始影象經過鄰域平均法濾波處理後,雜訊得到了抑制,但也使影象邊緣變得模糊;中值濾波方法運算簡單,易於實現,能較好地保護影象邊界,但有時會失掉影象中的細線和小塊的目標區域。對含有不同雜訊型別的同一影象採用這2種濾波方法進行處理後,分析可知:

鄰域平均濾波方法對高斯雜訊有較強的抑制效果,對椒鹽雜訊抑制效果不明顯;中值濾波方法對高斯雜訊的抑制效果不明顯,對去除椒鹽雜訊效果明顯。

5. 用matlab開啟一幅影象,利用roberts梯度法、sobel運算元和拉普拉斯運算元進行銳化,並比較結果。

(1) roberts梯度法

i=imread('');

[h,w]=size(i);

m=double(i);

j=m;

for i=1:h-1

for j=1:w-1

j(i,j)=abs(m(i,j)-m(i+1,j+1))+abs(m(i+1,j)-m(i,j+1));

end;

end;

figure ;imshow(i);title('原圖');

figure ;imshow(uint8(j));title('roberts處理後');

(2) sobel運算元

i=imread('');

[h,w]=size(i);

m=double(i);

j=m;

for i=2:h-1

forj=2:w-1 j(i,j)=abs(m(i-1,j+1)-m(i-1,j-1)+2*m(i,j+1)-2*m(i,j-1)+m(i+1,j+1)-m(i+1,j-1))+abs(m(i-1,j-1)-m(i+1,j-1)+2*m(i-1,j)-2*m(i+1,j)+m(i-1,j+1)-m(i+1,j+1));

end;

end;

figure ;imshow(i);title('原圖');

figure ;imshow(uint8(j));title('sobel 處理後');

(3) 拉普拉斯運算元

i=imread('');

[h,w]=size(i);

m=double(i);

j=m;

for i=2:h-1

for j=2:w-1

j(i,j)=4*m(i,j)-[m(i+1,j)+m(i-1,j)+m(i,j+1)+m(i,j-1)];

end;

end;

figure ;imshow(i);title('原圖');

figure ;imshow(uint8(j));title('銳化處理後的圖');

銳化的實質是:銳化影象g(m,n) = 原影象f(m,n) + 加重的邊緣(α*微分)由實驗效果對比圖可以看出sobel運算元處理影象後使邊緣有一定的模糊。laplacian檢測模板的特點是各向同性,對孤立點及線端的檢測效果好,但邊緣方向資訊丟失,對雜訊敏感,整體檢測效果不如roberts梯度運算元。

數字影象處理實驗

數字影象處理數學方法 實驗指導 實驗目的和任務 通過實驗對數字影象的基本理論和基本運算 影象空域變換和頻域變換 影象增強等基本處理方法有更深入的理解。實驗要求 獨立完成各項實驗內容 記錄每一項實驗內容實現的步驟 列印輸出相應實驗中的原始影象和實驗生成影象 獨立撰寫實驗報告。實驗環境 計算機機房 實驗...

數字影象處理大綱

一 理論課程主要內容及學時安排 32學時 第一章緒論 2學時 1 數字影象處理的發展 2 數字影象處理的主要研究內容 3 數字影象處理的基本步驟 4 影象處理系統的組成 第二章數字影象基礎 4學時 1 視覺感知要素 2 影象的取樣和量化 3 畫素間的基本關係 4 數字影象處理中的基本數 算 第三章灰...

《數字影象處理A》試卷

裝訂線課程 數字影象處理a 班級姓名學號 密封線安徽工業大學試題紙 一 題號得分一二 三四五六 七 十 十一十二 十三十四 十五十六 十七十八 十九二十 總分2009 20010學年第一學期 數字影象處理a 補考試卷一 填空題 30分 1 windows bmp檔案其行 line 與寬 width ...