Tampilkan postingan dengan label DIP. Tampilkan semua postingan
Tampilkan postingan dengan label DIP. Tampilkan semua postingan

Senin, 11 Mei 2015

Pengertian Citra

0 komentar

Pengertian Citra

Suatu Citra adalah fungsi intensitas 2 dimensi f(x,y), dimana x dan y adalah koordinat spesial dan f pada titik (x,y) merupakan titik kecerahan (brightness) suatu citra pada suatu titik. Suatu citra diperoleh dari penangkapan kekuatan sinar yang dipantulkan oleh objek.

Citra sebagai objek alat perekaman, seperti kamera, dapat bersifat analog maupun digital.

Citra Analog adalah citra yang masih dalam bentuk sinyal analog. Seperti hasil pengambilan gambar oleh kamera atau citra tampil di layar TV ataupun monitor (sinyal video).

Tingkat ketajaman/resolusi warna pada citra digital tergantung pada jumlah "bit" yang digunakan oleh komputer untuk merepresentasikan setiap pixel tersebut. Tipe yang sering digunakan untuk merepresentasikan citra adalah 8-bit. (256 color(0 untuk hitam - 255 untuk putih)), tetapi dengan kemjuan teknologi perangkat keras grafik, kemampuan tampilan citra di komputer hingga 32 bit(232 warna).

Ranah citra digital ini dapat dilakukan secara langsung oleh komputer digital ataupun melakukan proses konversi suatu citra analog ke citra digital. Untuk mengubah citra kontinu menjadi citra digital diperlukan proses pebuatan kisi-kisi arah horizontal dan vertikal, sehingga diperoleh gambar dalam bentuk array dua dimensi. Proses tersebut dikenal sebagai proses digitalisasi.

Citra Monochrome atau citra hitam-putih merupakan citra satu kanal, dimana citra f(x,y) merupakan fungsi tingkat keabuan dari hitam ke putih; x menyatakan variabel baris (garis jelajah) dan y menyatakan variabel kolom atau posisi digaris jelajah. Sebaliknya citra berwarna dikenal juga dengan citra multi-spectral, dimana warna citra biasanya.

Sumber: Catatan Kuliah Pengantar Pengolahan Citra, Adang Suhendra



Read more...

Written by: Admin ngampus mulu, ga mampus Updated at : 19:27

Kamis, 29 Januari 2015

Contrast Stretching Menggunakan Matlab

0 komentar

Pada contrast stretching ini digunakan program matlab, yakni dengan menggunakan metode function, yang dimana functionnya sebagai berikut:


function run = ContrastStretching(r1,r2,s1,s2)
f = imread('low1.jpg');
citra=double(f);
[M N] = size(citra)
L=(2)^8;
Lmaks=(L-1);


for incI=1:M
  for incJ=1:N
        Ibaru=citra(incI,incJ);
        if(Ibaru<r1)
            Ibaru = round((s1/r1)*Ibaru);
        elseif(Ibaru<=r2)
            Ibaru = s1+round((Ibaru-r1)*(s2-s1)/(r2-r1));
        else
            Ibaru = s2+round((Ibaru-r2)*(Lmaks-s2)/(Lmaks-r2));
        end
    citra(incI,incJ)=Ibaru;
    end
end

hasil=uint8(citra)
subplot(2,2,1);imshow(f);title('Citra Asli');
subplot(2,2,3);imshow(hasil);title('Hasil Contrast');
subplot(2,2,2);imhist(f);title('Histogram Awal');

subplot(2,2,4);imhist(hasil);title('Histogram Hasil');


Function tersebut diberi nama ContrastStretching, function akan dijalankan apabila function telah dipanggil, ketika function dipanggil maka akan meproses untuk menghasilkan citra baru beserta histogramnya.

Untuk pemanggilan function, dapat menggunakan:

ContrastStretching(r1,r2,s1,s2)

Yakni memanggil function, diikuti dengan nilai input untuk r1,r1 dan s1,s2 sesuai yang diinginkan

Nilai input tersebut dapat dimasukan dengan bebas selama tidak melebihi batas maksimal/ diatas 255, namun perbedaan nilai input akan menghasilkan citra yang berbeda, karena nilai input tersebut berguna untuk mengatur besaran r dan s pada citra yang akan dihasilkan.

>>ContrastStretching(60,120,150,185);

Pada case ini menggunakan nilai input r1=60,r2=120,s1=150,s2=185


Pada Contrast Stretching ini citra awal dengan contrast yang kurang baik akan menjadi terlihat lebih terang (ada peningkatan contrast) pada hasil akhirnya, namun apabila citra awal memiliki contrast yang sudah baik, justru cenderung menghasilkan citra yang kurang baik, citra dapat menjadi lebih gelap dan kabur/kurang jelas.

Read more...

Written by: Admin ngampus mulu, ga mampus Updated at : 20:49

Selasa, 27 Januari 2015

Edge Linking Metode Robert dan Prewitt menggunakan Matlab

0 komentar

Salah satu teknik yang dapat digunakan untuk edge linking adalah local processing, yaitu dengan menganalisa karakteristik pixel-pixel didalam seuatu neighborhood (3x3) atau (5x5) pada semua titik (x,y) didalm citra yang telah mengalami edge-detection. Selanjutnya semua titik yang sejenis dihubungkan sehingga membentuk kumpula pixel yang memiliki sifat-sifat yang sama, Pada case ini edge-detection digunakan metode sobel, karena hasil yang dihasilkan lebih baik dibandingkan metode Robert dan Prewitt.

Dua sifat utama yang digunakan untuk menentukan kesamaan edge pixel dalam analisa ini adalah:

1. Besarnya respon gradient operator yang digunakan
2. Arah gradient

Sifat yang pertama dinyatakan dengan nilai Ñf yang telah dibahas sebelumnya. Jadi suatu edge pixel dengan koordinat (x’,y’) dan bertetangga dengan (x,y), dikatakan memiliki magnitude sama dengan pixel di (x,y) jika:
dimana T adalah threshold positif.

Sedangkan arah vektor gradient dinyatakan dengan a(x,y) yang juga telah dibahas sebelumnya.
Suatu edge pixel dengan koordinat (x’,y’) dan bertetangga dengan (x,y), dikatakan memiliki sudut yang sama dengan pixel di (x,y) jika:

dimana A adalah threshold sudut.

Suatu titik yang   menjadi  tetangga dari (x,y)  dihubungkan  dengan titik (x,y) jika memenuhi
kedua kriteria di atas, baik magnitude maupun sudutnya. Proses linking ini diulang untuk seluruh lokasi titik yang ada di dalam citra.

Pada case ini program dibuat dengan menggunakan Matlab, sebagai berikut:


A = imread('image.jpg');
B = rgb2gray(A);
C = double(B);
[p q] = size(C);
for i=2: p-2
    for j=2: q-2
        Gx = ((2*C(i+2,j+1) + C(i+2,j) + C(i+2,j+2)) - (2*C(i,j+1) + C(i,j) + C(i,j+2)));
       
        Gy = ((2*C(i+1,j+2) + C(i,j+2) + C(i+2,j+2)) - (2*C(i+1,j) + C(i,j) + C(i+2,j)));

        h(i,j) = sqrt(Gx.^2 + Gy.^2);
        A(i,j) = atand(Gy/Gx);
        h_gx(i,j) = Gx;
        h_gy(i,j) = Gy;       
    end
end

h = uint8(h);
Thresh=120;
B=max(h,Thresh);
B(B==round(Thresh))=0;
B=uint8(B);
hold_a = 40;
hold_t = 15;

for i=2 : p-3
    for j=2 : q-3
        if(i>1 && i<p && p>1 && n<q)
            if(abs((h(i+1,j) - h(i,j))) <= hold_t && abs((A(i+1,j) - A(i,j))) < hold_a)
                img(i,j) = B(i,j);
                img(i+1,j) = B(i+1,j);
            end
            if(abs((h(i,j+1) - h(i,j))) <= hold_t && abs((A(i,j+1) - A(i,j))) < hold_a)
                img(i,j) = B(i,j);
                img(i,j+1) = B(i,j+1);
            end
            if(abs((h(i+1,j+1) - h(i,j))) <= hold_t && abs((A(i+1,j+1) - A(i,j))) < hold_a)
                img(i,j) = B(i,j);
                img(i+1,j+1) = B(i+1,j+1);
            end
        else
            img(i,j)=0;
        end
    end
end
figure;imshow(uint8(h_gx)); title(‘operator Gx');
figure;imshow(uint8(h_gy)); title('operator Gy');
figure;imshow(img); title('Hasil Edge Linking');

Read more...

Written by: Admin ngampus mulu, ga mampus Updated at : 22:12