MatLab 基本影像處理(3)——函式變換

rolling_ball發表於2019-03-22

MatLab 基本影像處理(3)——函式變換

——線性變換

直方圖處理前要將影像進行灰度轉換。

%--------------------直方圖-------------------------%
%原始直方圖
figure,imhist(picture_gray);title('原始直方圖');
%線性變換(影像增強的一種)後的直方圖
figure,imhist(picture_inten);title('線性變換增強後的直方圖');
%直方圖歸一化
gray_num = numel(picture_gray);  %影像畫素的總數
gray_proportion = imhist(picture_gray)/gray_num;
gray_range = 0:255;
figure,stem(gray_range,gray_proportion);title('直方圖歸一化');

轉換後的影像就是這樣子了
原始的灰度圖
線性變換後的直方圖
直方圖歸一化

——對數變換

將影像進行對數拉伸與壓縮操作達到增強影像的目的。

1.原影像顯示

2.影像灰度化

3.對數變換
%mat2gray是一個計算機函式,功能是實現影像矩陣的歸一化操作。
f = mat2gray(picture_gray);

v = 10;  
g_1 = log2(1 + v*f)/log2(v+1);  
  
v = 30;  
g_2 = log2(1 + v*f)/log2(v+1);  
  
v = 200;  
g_3 = log2(1 + v*f)/log2(v+1);  
  
4. 顯示g_1	g_2	g_3

log2(1 + v*f)/log2(v+1)
其中v是增強等級,f是待處理影像。(換底公式)

——對比度拉伸

通過下面函式對影像進行對比度拉伸達到增強影像的目的。
%eps可避免f出現溢位情況

g=1./(1+(150./(double(picture_gray)+eps)).^10);

相關文章