Anda di halaman 1dari 6

TUGAS

COMPUTER VISION

Nama :
Muhammad Hendry N 5160411157

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNOLOGI INFORMASI DAN ELEKTRO
UNIVERSITAS TEKNOLOGI YOGYAKARTA
2019
Algoritma Chain Code
1. Memulai perjalanan kontur
Masukan:
 Hasil gambar yang akan di masukan ke dalam program akan dijadikan input data
 Variable yang akan digunakan :
P = {p (i,j): I = 1,2….M & j = 1,2…N}
 input dibagai secara sesuai dan mengambil piksel paling atas pertama, a = p(I , j)
2. Proses
 Mencari nilai chain code tergantung pada kontur, dan penyimpanan nilai array chain
code dan juga penyimpanan 1 di posisi pixel yang sesuai di dalam sebuah matrik
sebagai berikut
Perhitungan
P (I + 1, j +1), P(I, j + 1),
P(I – 1, j + 1), P(i – 1, j)
P(I – 1, j - 1), P(I , j - 1)
P(I + 1, j - 1), P(i +1, j)
P(I + 1,j)

IF pixel sekarang = pixel mulai


Then pelacakan kontur selesai
ELSE
Then kembali ke perhitungan

 Mencari normalisasi chain code dari chain code yang diperoleh


 Membandingkan query normalisasi chain code dengan dataset , jika beberapa piksel
di temukan
 Mengulang sampai menemukan data yang diperkirakan

Program Chain code

- Push Button 1
Untuk membuka dan mencari citra dari folder penyimpanan yang akan di eksekusi
- Push Button 2
Fungsi dari push button 2 adalah operasi deteksi tepi

- Output Program
Setelah di input gambar melaului push button open dan push button proses dieksekusi dan
hasilnya adalah :
Algoritma Kontur

1. Masukkan citra berukuran baris dan kolom yang berisi kontur -> f(m,n)
2. Setelah masukkan citra maka akan mengeluarkan output berupa kontur dengan n piksel ->
(e(n))
3. Cari piksel pertama yang akan dijadikan sebagai kontur melalui pemindaian dan disimpan di e(1)
4. Setelah mencari indeks pertama maka lanjut indeks kedua pada kontur e. (n <- 2)
5. Cari piksel kedua yang menjadi bagian kontur dengan cara mencari tetangga dan diletakkan di
piksel berikutnya.
6. Dcn <- arah dari e(1) ke piksel kedua.
7. While (piksel_berikutnya != e(1)
E(n) <- piksel berikutnya
Cari_piksel_berikutnya(e(n),dpc,piksel_berikutnya,dcn)
N<-n+1
End While
8. Cari_piksel_berikutnya (pc,dpc,pb,dcn) :
pc = piksel sekarang,
dpc = arah piksel sebelumnya ke piksel sekarang,
pb = piksel berikutnya yang akan dihasilkan oleh fungsi,
dcn = arah piksel sekarang ke piksel berikutnya

dcp<-kebalikan(dpc)
For r <- 0 To 6
dE <- MOD (dcp + r , 8) // untuk mencari arah eksternal
dl <- MOD (dcp + r +1, 8) // untuk mencari arah internal

pE <- peroleh_piksel_berikutnya(pc,dE)
pl <- peroleh_piksel_berikutnya(pc,dl)

If latarbelakang(pE) AND objek(pl)


pb <- pE
dcn <- dE
End-If
End-For
9. Peroleh_piksel_berikutnya(pc,d).
//d = arah piksel sekarang
//Nb=piksel berikutnya

Xp <- [1, 1, 0, -1, -1, -1, 0, 1];


Yp <- [0, -1, -1, -1, 0, 1, 1, 1];
Cx <- bagian x dari pc+Xp(d+1);
Cy<- bagian y dair pc+Yp(d+1);
Cara menjalankan program kontur
[x,y] = meshgrid(-3:0.3:3);
Z = x. * exp(-x.^2 – y.^2);
Subplot(2,2,1)
Mesh(z), title(‘subplot(2,2,1)’)
Subplot(2,2,2)
Mesh(z)
View(-37.5,70), title (‘subplot(2,2,2)’)
Subplot(2,2,3)
Mesh(z)
View(-37.5,-10), title(‘subplot(2,2,3)’)
Subplot(2,2,4)
Mesh(z)
View(0,0), title(‘subplot(2,2,4)’)

Lalu ketikan konturnya


[x,y]= meshgrid(-2:.2:2);
Z = x.* exp(-x.2^2 – y.^2);
Meshc(z)

Hasil

Anda mungkin juga menyukai