Deteksi Objek Menggunakan Template

Template Matching adalah metode untuk mencari dan menemukan lokasi gambar template dalam gambar yang lebih besar. OpenCV hadir dengan fungsi cv2.matchTemplate () . Fungsi ini hanya menggeser gambar template di atas gambar input (seperti dalam konvolusi 2D) dan membandingkan template dan tambalan gambar input di bawah gambar template. Beberapa metode perbandingan diterapkan di OpenCV. Ini mengembalikan gambar grayscale, di mana setiap piksel menunjukkan berapa lingkungan piksel yang cocok dengan template.




Jika gambar input berukuran (WxH) dan gambar template berukuran (wxh) , gambar output akan memiliki ukuran (W-w + 1, H-h + 1) . Setelah Anda mendapatkan hasilnya, Anda dapat menggunakan fungsi cv2.minMaxLoc () untuk menemukan di mana nilai maksimum / minimum. Ambillah sebagai sudut kiri atas persegi panjang dan ambil (w, h) sebagai lebar dan tinggi persegi panjang. Terdapat Kotak yaitu wilayah templat.

Disini kita membuat template dengan gambar kucing seperti dibawah dan akan mencari objek tersebut.

Ketikan code program berikut ini.

Hasilnya akan terlihat menggunakan beberapa fungsi style yang ada di bawah ini :

Sekarang kita mencoba untuk mencari banyak objek.

Pencocokan Template dengan Banyak Objek

Pada bagian sebelumnya, kita mencari gambar untuk wajah Kucing, yang hanya terjadi sekali dalam gambar. Misalkan Anda mencari objek yang memiliki beberapa kejadian, cv2.minMaxLoc () tidak akan memberi Kita semua lokasi. Dalam hal ini, kita akan menggunakan thresholding. Jadi dalam contoh ini, kita akan menggunakan screenshot dari  gambar contoh game Mario dan kita akan menemukan koin-koin di dalamnya.




Ketikan code program berikut ini :

Hasilnya akan seperti dibawah ini :

Template Matching




4 pemikiran pada “Deteksi Objek Menggunakan Template”

Tinggalkan komentar

This site uses Akismet to reduce spam. Learn how your comment data is processed.