Revisi » Membuat Sendiri Fungsi Imadjust (Matlab)



%membersihkan semua nilai variabel pada workspace
clear;
%membersihkan tampilan Command Window
clc;

%membaca masukan nilai untuk Lout dan Hout
Lin = input('Lin = ');
Hin = input('Hin = ');

Lout = input('Lout = ');
Hout = input('Hout = ');

%membaca image asli dan mengubahnya menjadi grayscale
%kemudian menjadi image intensitas
img = imread('Radiografia.jpg');
img_gray = double(rgb2gray(img))/255;

%mendapatkan ukuran image intensitas
[m,n] = size(img_gray);

%perulangan untuk adjustment intensitas secara manual
for i=1:m
    for j=1:n
        if (img_gray(i,j) > Hin)
            img_adjust(i,j) = Hout;
        elseif (img_gray(i,j) < Lin)
            img_adjust(i,j) = Lout;
        else            
        img_adjust(i,j) = ((img_gray(i,j))*((Hout-Lout)/(Hin-Lin)))+(Lout-Lin*((Hout-Lout)/(Hin-Lin)));
        end
    end
end

%adjustmen intensitas menggunakan fungsi bawaan Matlab
img_func = imadjust(img_gray,[Lin Hin],[Lout Hout]);

%menampilkan image intensitas asli, hasil adjustment manual
%dan adjustment dengan fungsi bawaan Matlab pada satu figure
figure('Name','Tugas Adjustment Intensitas - 2207 100 175','NumberTitle','off');
subplot(2,1,1);
imshow(img_gray);
title('Image Intensitas Asli');
subplot(2,2,3);
imshow(img_adjust);
title('Image Hasil Adjustment Intensitas Secara Manual');
subplot(2,2,4);
imshow(img_func);
title('Image Hasil Adjustment Intensitas Dengan Fungsi imadjust');

0 comments:

Posting Komentar