Jumat, 26 November 2010

Pendeteksian Tepi dengan MatLab

Dibuat Oleh :

Aisyah Amelia (50407067)
Luthfiana Azizah (50407514)
4 IA03
Universitas Gunadarma 2010

I.         Pengertian Pengolahan Citra

Teknik peningkatan mutu citra dapat dibagi menjadi dua yaitu Peningkatan mutu citra pada domain spasial dan Peningkatan mutu citra pada domain frekuensi. Peningkatan mutu citra pada domain spasial sendiri masih dibagi menjadi dua macam yaitu point processing dan mask processing. Pada mask processing kita melakukan operasi terhadap suatu jendela ketetanggaan pada citra. Salah satu contoh dari peningkatan mutu pada domain spatial menggunakan mask processing adalah edge detection. Deteksi tepi (Edge Detection) pada suatu citra adalah suatu proses yang menghasilkan tepi-tepi dari obyek-obyek citra. Deteksi tepi sendiri dimanfaatkan untuk berbagai keperluan diantanya yang sedang hangat di bahasa saat ini adalah penggunaan deteksi tepi dalam penggunaannya untuk aplikasi pengenalan nomor mobil. Tujuan dari teknik peningkatan mutu citra adalah untuk melakukan pemrosesan terhadap citra agar hasilnya mempunyai kwalitas relatif lebih baik dari citra awal untuk aplikasi tertentu.
Tepi (edge) adalah perubahan nilai intensitas derajat keabuan yang cepat/tiba-tiba (besar) dalam jarak yang singkat. Sedangkan deteksi tepi (Edge Detection) pada suatu citra adalah suatu proses yang menghasilkan tepi-tepi dari obyek-obyek citra, tujuannya adalah Untuk menandai bagian yang menjadi detail citra Untuk memperbaiki detail dari citra yang kabur, yang terjadi karena error atau adanya efek dari proses akuisisi citra Suatu titik (x,y) dikatakan sebagai tepi (edge) dari suatu citra bila titik tersebut mempunyai perbedaan yang tinggi dengan tetangganya. Pada gambar 1.1 di bawah ini dapat dilihat proses yang dilakukan untuk memperoleh tepi gambar dari suatu citra yang ada.

I.         Langkah – Langkah Pembuatan Program MatLab Pendeteksian Tepi

1.    Pertama buat rancangan GUI terlebih dahulu dengan cara klik File pada Menu bar-New-GUI-Blank GUI-Ok.
2.    Selanjutnya buatlah sebuah rancangan GUI, jika sudah selesai simpan file dengan ekstensi (.fig). berikut ini merupakan tampilan dari rancangan GUI yang telah kami buat dengan dua buah axes dan tiga buah push button:

 
3.   Kemudian pada push button browse, klik kanan-View Callback-Callback.
4.    Maka akan muncul tampilan editor untuk memasukkan script pendeteksian tepi untuk program Matlab yang kami buat.

            Selanjutnya pada tombol browse, masukkan script berikut: 

proyek=guidata(gcbo);
[namafile,direktori]=uigetfile({'*.jpg';'*.bmp';'*.png';'*.tif'},'Buka Gambar')
if isequal(namafile,0)
return;
end
eval(['cd ''' direktori ''';']);
I=imread(namafile);
set(proyek.figure1,'CurrentAxes',proyek.axes1);
set(imshow(I));
set(proyek.figure1,'Userdata',I);
set(proyek.axes1,'Userdata',I);


Pada Tombol Proses, masukkan script berikut ini:

proyek=guidata(gcbo);
I=get(proyek.axes1,'Userdata');
if isequal(I,[])       
msgbox('Belum ada gambar!','Peringatan','warn');
else
gray=rgb2gray(I);
BW = edge(gray,'sobel');
set(proyek.figure1,'CurrentAxes',proyek.axes3);
set(imshow(BW));
set(proyek.axes3,'Userdata',A);
redo_Callback(hObject, eventdata, handles);
end

Sedangkan pada tombol save, masukkam script berikut ini:

proyek=guidata(gcbo);
[namafile,direktori]=uiputfile({'*.jpg';'*.*'},'Simpan Citra');
I=get(proyek.axes2,'Userdata');
imwrite(I,strcat(direktori,namafile));

jika sudah maka save data tersebut dengan format “nama_file.fig”

kemudian RUN.

5.  Berikut ini adalah tampilan program setelah di RUN

6.    Untuk mengambil gambar, pilih Browse-file direktori tempat kita akan mengambil gambar-open.
7.   Kemudian akan tampil gambar yang telah kita ambil pada file direktori, seperti tampilan berikut ini:

8.    Lalu pilih proses untuk melakukan proses pendeteksian tepi. Maka akan tampil hasil dari proses tersebut, seperti berikut ini:

9.    Jika telah selesai kita dapat menyimpan hasil gambar program matlab pendeteksian tepi dengan pilih tombol Save. Lalu tentukan file direktori tempat kita akan menyimpan hasil gambar. Dan simpan gambar dengan file berekstensi (.jgp). klik save.

8 komentar:

  1. nice post ne....entar mw dicoba dulu,,,,boleh nanya kan entar

    BalasHapus
  2. makasii udah mau mampir :)
    yaa, sesi pertanyaan udah di buka kok :D

    BalasHapus
  3. permisi... numpang nanya... :D
    maksud yang dibawah ni apa ya...??
    eval(['cd ''' direktori ''';']);

    tolong dibantu ya... :D

    BalasHapus
  4. @project29:
    makasih buat komentarnyaa..
    eval disini digunakan untuk pembacaan path directory biar sesuai direktori yang kita gunakan untuk menyimpan dan mengambil file.

    semoga membantu :)

    BalasHapus
  5. tombol save ngga bisa di gunain e..
    ??? Error using ==> imwrite at 426
    Image data can not be empty.

    Error in ==> coba>tombol_save_Callback at 151
    imwrite(I,strcat(direktori,namafile));

    Error in ==> gui_mainfcn at 96
    feval(varargin{:});

    Error in ==> coba at 42
    gui_mainfcn(gui_State, varargin{:});

    Error in ==>
    @(hObject,eventdata)coba('tombol_save_Callback',hObject,eventdata,guidata(hObject))


    ??? Error while evaluating uicontrol Callback

    BalasHapus
  6. kesalah pada axes
    di gambar terdapat 2 axes tp kok di sourcodenya ada 3
    punyaku error waktu simpan?

    BalasHapus
  7. berdasarkan artikel tersebut, bisa menjadi rujukan link penelitian dibawah ini

    http://repository.gunadarma.ac.id/bitstream/123456789/2220/1/01-02-006-Aplikasi%5BReyza%5D.pdf

    terima kasih

    BalasHapus