При обнаружении глаз с помощью функции HaarDetectObject () мы получаем результаты (детектированные объекты) следующим образом:
[((110, 47, 44, 44), 11), ((27, 45, 54, 54), 31)]
[((114, 49, 40, 40), 10), ((28, 50, 47, 47), 17)]
[((31, 50, 47, 47), 18), ((106, 47, 44, 44), 3)]
[((106, 46, 44, 44), 38), ((29, 53, 45, 45), 35), ((18, 30, 74, 74), 4)]
[((98, 54, 36, 36), 7), ((108, 48, 45, 45), 31), ((26, 52, 49, 49), 49)]
[((109, 46, 45, 45), 28), ((29, 50, 49, 49), 38)]
[((109, 46, 44, 44), 29), ((27, 47, 53, 53), 27), ((123, 45, 48, 48), 3)]
[((108, 46, 44, 44), 35), ((28, 50, 49, 49), 33)]
[((109, 47, 45, 45), 34), ((28, 53, 47, 47), 35), ((126, 50, 44, 44), 3)]
[((109, 47, 44, 44), 29), ((29, 47, 51, 51), 39)]
[((106, 47, 42, 42), 49), ((27, 49, 49, 49), 30)]
[((31, 54, 42, 42), 13), ((110, 46, 44, 44), 4), ((125, 46, 44, 44), 4), ((27, 35, 66, 66), 6)]
и т. Д.
что я знаю:
(110, 47, 44, 44), 11), что
х, у, ш, ч,?
x, y - координаты верхнего левого угла обнаруженного «глаза» в «глазах»
и w, h - ширина и высота, чтобы определить обнаруженную область глаза, так что это в формате cvRect
Итак, как вы видите, последнее обнаружение имеет 4 глаза - таким образом, я спрашиваю, откуда мне знать, какие из них являются моими идеально обнаруженными глазами? Я имею в виду, видя глаза [i] [0] [0] для любого i, мы можем знать, прав глаз или лев. Но здесь у нас есть два левых и два правых глаза,
глаза [0] и глаза [3] - левые, а глаза [1] и глаза [2] - правые.
И это мой вопрос, теперь, если мне нужно получить только один из двух обнаруженных результатов для правого и левого глаза, как мне это сделать?
Раньше я думал, что глаз [i] [1] можно использовать как какой-то счет. У меня не было доступа к Интернету некоторое время, поэтому я предположил, что. Но это не какой-то показатель качества, как я только что обнаружил.
Таким образом, в нашем случае eyes [0] [1] - 13, а eyes [1] [1] - 4, eyes [2] [1] - 4 и eyes [3] [1] - 6.
Давайте назовем это Q
В остальных случаях я обнаружил закономерность того, что Q для других моих обнаружений была высокой, обычно около 40-60, поэтому я подумал, что, возможно, Q в этом диапазоне обозначает лучшее обнаружение. Но, как я уже говорил, это не так.
Итак, как мне определить, какой «глаз» в «глазах» является лучшим обнаружением?