生活随笔
收集整理的這篇文章主要介紹了
数字图像处理:实验八 遥感图像增强
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
實驗八 遙感圖像增強
一、實驗目的
熟悉MATLAB中圖像增強的原理;掌握遙感圖像灰度變換,直方圖調整等增強方法。
二、實驗儀器及設備
計算機、Matlab圖像處理軟件、Landsat8遙感圖像
三、實驗內容及步驟
遙感圖像頭文件讀取
圖像對比度增強的方法可以分為兩類,一類是直接對比增強方法,另一類是間接對比增強方法,直方圖均衡化和線性拉伸是兩種最常見的間接對比度增強方法,直方圖均衡是通過使用累計函數對灰度值進行調整以實現對比度的增強。線性拉伸通過對比度拉伸對直方圖進行調整,從而擴大前景和背景灰度的差別,以達到增強對比度的目的,這種方法可以利用線性或非線性的方法來實現,如指數變換,對數變換和線性拉伸等。
1.直方圖均衡化
直方圖均衡化處理的中心思想是將原始圖像的灰度直方圖從比較集中的某個灰度區間變成在全部灰度范圍內的均勻分布,通過對圖像進行非線性拉伸,重新分配圖像像素值,使一定灰度范圍內的像素數據大致相同,從而使得給定圖像的直方圖分布變成均勻分布。2.指數變換
指數變換可以將遙感圖像的灰度值部分進行壓縮,高灰度值部分進行擴展,以達到增強遙感影像高灰度部分的目的。3.對數變換
對數變換可以將遙感圖像的低灰度值部分進行擴展,高灰度值部分進行壓縮,以達到增強遙感影像低灰度部分的目的。4.線性拉伸
線性拉伸是為了突出感興趣的目標或灰度區間相對抑制那些不感興趣的灰度區域。
四、實驗內容及步驟
直方圖均衡化
src_img=data
(:,:,6
);
%轉為8bit圖像,以波段6為例
min_val=min
(min
(src_img
));
max_val=max
(max
(src_img
));
for i=1:lines
for j=1:samplessrc_img
(i,j
)=(src_img
(i,j
)-min_val
)/
(max_val-min_val
)*255
;end
end
src_img=uint8
(src_img
);
figure
(1);
subplot
(2,2,1
),imshow
(src_img
),title
('原圖像');
subplot
(2,2,2
),imhist
(src_img
),title
('原圖像直方圖');
matlab_eq=histeq
(src_img
);
subplot
(2,2,3
),imshow
(matlab_eq
),title
('matlab直方圖均衡化原圖像');
subplot
(2,2,4
),imhist
(matlab_eq
),title
('matlab直方圖均衡化直方圖');
圖一 直方圖均衡化
2. 指數變換
gamma=0.4;
c=1;
g2=data
(:,:,6
);
g2=c*
(g2.^gamma
);
%歸一化
min_val=min
(min
(g2
));
max_val=max
(max
(g2
));
for i=1:lines
for j=1:samplesg2
(i,j
)=(g2
(i,j
)-min_val
)/
(max_val-min_val
)*255
;end
end
g2=uint8
(g2
);
figure
(1);
subplot
(2,2,1
),imshow
(src_img
),title
('原圖像');
subplot
(2,2,2
),imhist
(src_img
),title
('原圖像直方圖');
subplot
(2,2,3
),imshow
(g2
),title
('增強圖像');
subplot
(2,2,4
),imhist
(g2
),title
('增強圖像直方圖');
圖二 指數變換
3. 對數變換
c1=1.0;
g=double
(src_img
);
v1=10;
v2=100;
v3=200;
g11=c*log2
(1+v1*g
)/log2
(v1+1
);
g22=c*log2
(1+v2*g
)/log2
(v2+1
);
g33=c*log2
(1+v3*g
)/log2
(v3+1
);
%歸一化
min_val1=min
(min
(g11
));
max_val1=max
(max
(g11
));
min_val2=min
(min
(g22
));
max_val2=max
(max
(g22
));
min_val3=min
(min
(g33
));
max_val3=max
(max
(g33
));
for i=1:lines
for j=1:samplesg11
(i,j
)=(g11
(i,j
)-min_val1
)/
(max_val1-min_val1
)*255
;g22
(i,j
)=(g22
(i,j
)-min_val2
)/
(max_val2-min_val2
)*255
;g33
(i,j
)=(g33
(i,j
)-min_val3
)/
(max_val3-min_val3
)*255
;end
end
g=uint8
(g
);
g11=uint8
(g11
);
g22=uint8
(g22
);
g33=uint8
(g33
);
figure
(1);
subplot
(2,2,1
),imshow
(g
),title
('原圖像');
subplot
(2,2,2
),imshow
(g11
),title
('增強圖像v=10');
subplot
(2,2,3
),imshow
(g22
),title
('增強圖像v=100');
subplot
(2,2,4
),imshow
(g33
),title
('增強圖像v=2000');
圖三 對數變換
4. 線性拉伸
g=double
(src_img
);
[m,n,w
]=size
(g
);
figure
(1);
imshow
(src_img
);title
('原圖像');
mid=mean
(mean
(g
));
%橫軸
fa=20;fb=120;
%縱軸
ga=100;gb=255;
[height,width
]=size
(g
);
dst_img=uint8
(zeros
(height,width
));
g=double
(g
);
%三段斜率
k1=ga/fa
;
k2=(gb-ga
)/
(fb-fa
);
k3=(255-ga
)/
(255-fa
);
for i=1:height
for j=1:width
if g
(i,j
)<=fadst_img
(i,j
)=k1*g
(i,j
);elseif fa
<g
(i,j
) && g
(i,j
)<=fbdst_img
(i,j
)=k2*
(g
(i,j
)-fa
)+ga
;elsedst_img
(i,j
)=k3*
(g
(i,j
)-fb
)+gb
;endend
end
dst_img=uint8
(dst_img
);
j=dst_img
;
figure
(2);
imshow
(j
);title
('線性拉伸圖像');pixel_f=1:256
;
pixel_g=zeros
(1,256);
%三段斜率,小于1表示該段江北壓縮
k1=ga/fa
;
k2=(gb-ga
)/
(fb-fa
);
k3=(255-ga
)/
(255-fa
);
for i=1:256
if i
<= fapixel_g
(i
)=k1*i
;elseif fa
<i
&& i
<=fbpixel_g
(i
)=k2*
(i-fa
)+ga
;elsepixel_g
(i
)=k3*
(i-fb
)+gb
;end
end
figure
(3);
plot
(pixel_f,pixel_g
);
圖四 線性拉伸
五、實驗心得
1.學會了遙感影像的增強處理。
2. 通過合適的增強操作,可凸顯出圖像的一些細節信息,使得影像信息提取、圖像解譯變得方便。
總結
以上是生活随笔為你收集整理的数字图像处理:实验八 遥感图像增强的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。