Skip to main content

Apa itu kode rantai?

Dalam grafik komputer dan pemrosesan gambar, kode rantai adalah algoritma yang digunakan untuk menyandikan kontur objek dalam gambar hitam dan putih, atau monokrom.Urutan kode yang dihasilkan dapat menggambarkan cara menggambar garis besar objek relatif terhadap gambar di mana ia berada, atau dapat menjadi kumpulan arah relatif terhadap lokasi pada garis besar di mana algoritma dimulai, pada dasarnya memberikan langkah -langkah bahwa bahwadapat diikuti untuk menggambar ulang objek.Kode -kode ini dapat dinormalisasi sesuai dengan formula dan kemudian dibandingkan dengan kode rantai lain untuk menentukan apakah dua objek identik.Kode rantai dapat digunakan untuk mengisolasi objek dalam program visi komputer atau segmentasi gambar dalam pemrosesan gambar, meskipun lebih umum dapat digunakan dalam program pengenalan karakter optik (OCR).

Meskipun ada beberapa algoritma yang ditetapkan untuk kode rantai,Konsep dasarnya sama di masing -masing.Pertama, tepi objek terletak, biasanya dengan memindahkan piksel dengan piksel melalui gambar raster.Setelah ditemukan, posisi dicatat dan tepi sekitarnya terdeteksi.Bergantung pada apakah algoritma deteksi akan bergerak searah jarum jam atau berlawanan arah jarum jam, lokasi saat ini dipindahkan ke satu arah atau yang lain di sepanjang tepi hingga kembali ke posisi asli.

Setiap kali posisi saat ini bergerak, angka dicatat dalam kode rantai.Jumlah ini umumnya menunjukkan arah yang digerakkan di sepanjang tepi objek.Misalnya, jika algoritma kode rantai mengikuti tepi lurus dari kanan ke kiri, maka setiap kali tepi ditelusuri ke kiri, kode numerik untuk kiri ditambahkan ke ujung kode.Kode yang dihasilkan adalah string angka di mana, jika urutan diikuti dari titik awal yang sewenang -wenang dan piksel yang ditempatkan pada setiap langkah, garis besar objek akan digambar ulang.

Setelah string angka yang membentuk kode tersebutselesai, beberapa algoritma yang berbeda dapat diterapkan untuk membantu membuat perbandingan dengan urutan kode rantai lainnya.Pertama, angka dinormalisasi dengan memutar nomor awal sampai nilai integer terendah ditentukan.Dengan cara ini, dua objek yang memiliki garis besar yang sama dapat dibandingkan, terlepas dari di mana pada setiap objek pengkodean dimulai.

Lainnya, versi yang lebih kompleks dari algoritma kode rantai ada.Ini termasuk pengkodean berbasis vektor di mana garis besar suatu objek dijelaskan oleh urutan koordinat yang dihubungkan oleh garis, meskipun metode ini bisa lossy ketika digunakan pada garis besar yang terperinci.Versi algoritma juga ada yang menggunakan run-length encoding (RLE) untuk lebih mengompres kode untuk objek yang sangat besar atau kompleks sehingga dapat disimpan dengan cara yang lebih efisien.