СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть
Это сообщение показано отдельно, перейти в тему, где размещено сообщение: Найти лица на фото и вернуть их количество (пакет Emgu.cv)
Старый 23.09.2023, 06:56   #1 (ссылка)
Crow indian
 
Аватар для Admin

Регистрация: 21.02.2009
Возраст: 40
Сообщений: 30,149
Поблагодарил: 398 раз(а)
Поблагодарили 6009 раз(а)
Фотоальбомы: 2607 фото
Записей в дневнике: 798
Репутация: 126146

Тема: Найти лица на фото и вернуть их количество (пакет Emgu.cv)


Найти лица на фото и вернуть их количество (пакет Emgu.cv)



Лица в анфас:

Код:
    public int IsFaceOnPhoto(IInputArray img)  // возвращает количество лиц на фото или 0 если лица не найдены
        {

            if (face_anfas_classifier == null)
                return 0;

            UMat ugray = new UMat();

            CvInvoke.CvtColor(img, ugray, Emgu.CV.CvEnum.ColorConversion.Bgr2Gray);

            CvInvoke.EqualizeHist(ugray, ugray);
            return face_anfas_classifier.classifier.DetectMultiScale(ugray, 1.1, 10, new Size(20, 20)).Length;

        }

Лица в профиль:


Код:
public int IsFaceProfileOnPhoto(IInputArray img)  // возвращает количество лиц на фото или ноль если лица не найдены
        {

            Rectangle[] facesDetected;


            using (UMat ugray = new UMat())
            {
                CvInvoke.CvtColor(img, ugray, Emgu.CV.CvEnum.ColorConversion.Bgr2Gray);

                //normalizes brightness and increases contrast of the image
                CvInvoke.EqualizeHist(ugray, ugray);

                //Detect the faces  from the gray scale image and store the locations as rectangle                   
                facesDetected = face_profile_classifier.classifier.DetectMultiScale(
                   ugray, 1.1, 10, new Size(20, 20));

            }

            return facesDetected != null ? facesDetected.Length : -1;

        }
Admin вне форума   Цитировать 14
 Нажмите здесь, чтобы написать комментарий к этому сообщению  
 

Яндекс.Метрика