Saya harus menangkap warna kulit yang tidak tergantung pada pencahayaan. Saya menggunakan kriteria berikut (menggunakan hsv dan rgb) tetapi tidak berfungsi:
int h = get_hue(...);
int s = get_saturation(...);
int r = get_red_component(...);
int g = get_green_component(...);
int b = get_blue_component(...);
if ((h<38)&&(h>6)&&(s>0.23)&&(s<0.68)){
// skin color
}
else if ((r>95) && (g>40) && (b>20) &&
((maximum(r,g,b)-minimum(r,g,b))>15) &&
(abs(r-g)>15)&&(r>g)&&(r>b)){
// also skin color
}
Ini bekerja di pagi hari ketika kulit saya menyala tetapi pada malam hari tidak bekerja.
Bantuan apa pun akan dihargai. Terima kasih sebelumnya. (PS-kulitku tidak putih.)
image-processing
opencv
object-recognition
Pulau Roney
sumber
sumber
Jawaban:
Dalam pengalaman saya metode terbaik untuk ini adalah mengubahnya menjadi ruang warna Lab. L mewakili cahaya, dan a dan b independen terhadap cahaya. OpenCV mendukung konversi skala warna Lab.
sumber
Untuk kasus khusus ini, saya sarankan membaca pada model LAB Color.
Dan sehubungan dengan model LAB Color, baca di Delta E. Jarak antara 2 warna. Rincian lebih lanjut tentang ruang warna dapat ditemukan di sini: http://www.codeproject.com/Articles/613798/Colorspaces-and-Conversions
Saya belum pernah mencoba model warna LAB melalui OpenCV karena ini merepotkan untuk mengkonversi dari RGB ke LAB dan kembali (membutuhkan langkah segera).
Tetapi saya telah menjelajahi Delta E di MatLab dengan sukses besar. Anda harus memilih kulit terlebih dahulu, menggambar ROI kecil pada video / gambar dan program akan menemukan semua nada warna yang sama persis dengan kulit yang Anda pilih melalui ROI.
Pilihan lain adalah melihat ke dalam tekstur. Sebuah preview singkat di sini: http://books.google.com.sg/books?id=bRlk_WjfITIC&pg=PA598&lpg=PA598&dq=skin+thresholding+from+texture&source=bl&ots=28fE0livyh&sig=8EeQTLFCc-JB979_-ccyrhDJlqA&hl=en&sa=X&ei=aAuFUsHhJoWJrQfpkoCgBg&ved = 0CDUQ6AEwAQ # v = halaman web & q = skin% 20pengaturan% 20dari% 20tekstur & f = salah
Ini pada dasarnya melatih basis data gambar. Beri komentar di sini jika Anda memerlukan bantuan untuk melatih basis data gambar atau konversi ColorSpace. Agak sibuk, jadi jawabannya hanya saran yang bisa Anda lakukan. Bersulang.
sumber
coba ini:
sumber