Kamis, 19 Juni 2014

Linear Transformasi



function out = histpwl(im,a,b)


%HISTPWL(IM,A,B) menerapkan transformasi piecewise linear transformation

%terhadap pikse-piksel citra IM, dimana A dan B adalah vektor-vektor

%yang memuat koordinat x dan y pada kedua ujung segmen garis.

%IM dapat bertype UINT8 atau DOUBLE.

% dan nilai-nilai dalam A dan B harus dalam rentang 0 dan 1,

% Contoh histpwl(x,[0,1],[1,0])

classChanged = 0;mengubah kelas = 0
if ~is a(im, 'double'), Mengubah nilai a ke dalam bentuk double presisi
    classChanged = 1; mengubah kelas = 1
    im= im2double(im); mengubah bentuk nilai tiap elemen matrik citra kedalam bentuk double presisi.
end
if length(a) ~=length(b) jika panjang a dan b tidak sama akan eror
    error('Vektor A dab B harus berukuran sama');
end
N=length(a); N sama dengan panjang a
out=zeros(size(im)); hasil 0 ukuran citra
for i=1;N-1; untuk i=1,N-1
    pix=find(im>=a(i) & im<a(i+1));pixel harus lebih besar = a dan citra lebih kecil a
    out(pix)=(im(pix)-a(i)*(b(i+1)-b(i))/a(i+1)-a(i)+b(i));rumus mengubah ukuran dalam bentuk pixel
end
pix=find(im==a(N));
out(pix)=b(N);hasil pixel = b * N (panjang a)
if classChanged==1; jika mengubah kelas==1
    out=uint8(255*out);hasil dikali 255 untuk citra bertype UINT8
end
»»  BACA SELENGKAPNYA...

Pengolahan Citra Digital Tugas 3





»»  BACA SELENGKAPNYA...

Pengolahan Citra Digital




»»  BACA SELENGKAPNYA...