大神帶你玩轉matlab影像處理(四)

  • 2020 年 3 月 10 日
  • 筆記

第五章:影像增強

5.1 直方圖

均衡化:經過均衡化處理的影像,像素佔有更多的灰度級並且分布更均勻,這樣的影像具有更高的對比度

histeq語法規則:

B=histeq(A)

A:原影像,B:結果圖

  • clc;clear;s=what;p=s.path;I=imread([p,'影像素材','lena.bmp']);J=histeq(I);subplot(2,2,1);imshow(I);title('原始影像');subplot(2,2,2);imshow(J);title('均衡化影像');subplot(2,2,3);imhist(I);title('原始影像的直方圖');subplot(2,2,4);imhist(J);title('均衡化影像的直方圖');

運行結果

5.2 灰度變換

對比度調節:將影像中過於集中的像元分布區域(亮度值分布範圍)拉開擴展,擴大影像反差的對比度,增強影像表現的層次性。達到增強反差的目的,主要通過調整直方圖來實現。

imadjust語法規則

B=imadjust(A,[low_in,high_in],[low_out,high_out])

A:原影像,B:結果圖,[low_in,high_in]:為原值範圍,[low_out,high_out]:新值輸出範圍。

clc;clear;s=what;p=s.path;I=imread([p,'影像素材','lena.bmp']);J=imadjust(I,[0,1],[1,0]);subplot(1,2,1);imshow(I);title('原始影像');subplot(1,2,2);imshow(J);title('灰度變換影像');

運行結果

5.3 灰度對數變換

灰度對數變換:對數變換可以拉伸範圍較窄的低灰度值,同時壓縮範圍較寬的高灰度值。可以用來擴展影像中的暗像素值,同時壓縮亮像素值

log語法規則

B=log(im2double(A)+1);

A:原影像,B:結果圖。

clc;clear;s=what;p=s.path;I=imread([p,'影像素材','lena.bmp']);J=log(im2double(I)+5);subplot(1,2,1);imshow(I);title('原始影像');subplot(1,2,2);imshow(J,[]);title('對數變換影像');

運行結果

5.4 中值濾波

中值濾波是取當前像素點及其周圍臨近像素點總共奇數個像素點,像這樣像素點排序,然後將中間的位置值作為當前像素點的像素值。例如,當前像素點是像素值為78的位置於影像的中間的點,其周圍像素點分布如下:

將上述的像素排序後得到:[66,78,90,91,93,94,95,97,101],該序列中處於中心位置(中心點)的值為93,因此用該值93替換掉原來的像素值78作為當前點的新像素值。得到:

medfilt2語法規則

B=medfilt(A)

A:原影像,B:結果圖

clc;clear;s=what;p=s.path;I=imread([p,'影像素材','o1.bmp']);J=medfilt2(I);subplot(1,2,1);imshow(I);title('原始影像');subplot(1,2,2);imshow(J);title('中值濾波影像');

運行結果

參考資料:

圖片來源:https://en.wikipedia.org/wiki/Lena_Forsén