【圖像處理】matlab 實現線性對比度展寬算法

實驗內容

實現線性對比度展寬算法

實驗過程

讀入圖像到矩陣F
得到F的行列數與顏色通道數:m,n,c
如果顏色通道數c>1,則將彩色圖像轉化爲灰度圖rgb2gray
初始化輸出矩陣G
對於G的每一行i
     對於G的每一列j
     根據公式(教材P36),由F(i,j)計算G(i,j)

測試代碼

fa = 5;fb = 30;
 	ga = 80;gb = 100;
    ImPath='.\im\pict1.png';
    J=ContrastWidening(ImPath,fa,fb,ga,gb);
    figure,imshow(ImPath);
figure,imshow(J);

實驗所需圖片

鏈接:https://pan.baidu.com/s/1LaxnZdLeY3LnKKv276E0pA
提取碼:vk8y

實驗源碼

function J=ContrastWidening(ImPath,fa,fb,ga,gb)
x = imread(ImPath); %讀取圖像到矩陣I
[m,n,c] = size(x);  %讀取圖像的行數和列數
if(c>1)
    I=rgb2gray(x);
end
J=zeros(m,n);
I = double(I);  %將I數據轉換成double類型
k1 = ga/fa;     %計算比例係數k1,k2,k3
k2 = (gb-ga)/(fb-fa);
k3 = (255-gb)/(255-fb);
for i=1:m
    for j=1:n
        if I(i,j)<fa
            J(i,j) = k1*I(i,j);
        elseif I(i,j)<fb
            J(i,j) = k2*(I(i,j)-fa)+ga;
        else
            J(i,j) = k3*(I(i,j)-fb)+gb;
        end
    end
end
J = uint8(J);  %轉換uint8編碼
end

實驗結果

學如逆水行舟,不進則退
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章