Saya sudah mulai bereksperimen dengan c ++ dan opencv karena saya ingin belajar pemrosesan gambar.
Sekarang, latihan pertama saya adalah membuat detektor kulit dengan calcHist dan calcBackProject .
Tetapi saya tidak mengerti beberapa hal:
- interpretasi statistik dari proyek belakang, dan mengapa itu disebut "proyek belakang"
- saya memiliki pemahaman yang cukup baik tentang apa yang berada di rentang parameter
calcBackProject
. Tapi saya benar-benar terjebak dengan rentang parameter dalamcalcHist
fungsi. - Untuk presisi deteksi lebih lanjut saya pikir bisa menjadi hal yang baik menggunakan backgrojection di lebih banyak level: di setiap saluran rgb ans di setiap saluran hsv. Tetapi saya tidak tahu bagaimana saya bisa menggabungkan hasil yang berbeda
calcBackProject
dari saluran yang terpisah dari rgb dan hsv.
Dan saya pikir pemahaman saya yang kurang baik disebabkan oleh kurangnya teori tentang apa yang saya lakukan dengan 2 metode tersebut (lihat poin pertama). Jadi tolong jelaskan saya dalam bahasa Inggris.
Jawaban:
Lihat Apa yang Kembali Proyeksi di tutorial openCV
Histogram gambar mengukur distribusi warna (dan kecerahan) piksel dalam suatu gambar.
Jika Anda mengambil gambar dan mengidentifikasi wilayah yang diminati misalnya. tangan, dan menghitung histogram piksel dalam objek itu.
Kemudian ambil histogram dan gambar kedua dan pada dasarnya membalikkan proses - Anda memilih piksel pada gambar kedua yang cocok dengan histogram dari yang pertama. Ini proses terbalik yang memberikannya proyeksi kembali nama.
Anda kemudian membuat asumsi bahwa area gambar di gambar kedua yang memiliki distribusi warna yang sama dengan objek di gambar pertama adalah gambar dari objek yang sama (atau serupa).
sumber