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

Регистрация: 21.02.2009
Возраст: 40
Сообщений: 30,010
Поблагодарил: 398 раз(а)
Поблагодарили 5987 раз(а)
Фотоальбомы: 2576 фото
Записей в дневнике: 698
Репутация: 126089

Тема: Использование файлов каскадов Хаара (пакет Emgu.CV)


Использование файлов каскадов Хаара (пакет Emgu.CV)

Данный файл загружает из файлов и хранит каскады Хаара, которые используются при поиске лиц, автомобильных номеров и др.

Скачать файлы каскадов


Код:
  public class HaarCascadeClassifier
    {

        public HaarCascadeClassifier(ClassifierType tp, string _xmlfilesfolder)
        {

            IsActive = false;

            xmlfilesfolder = $"{Directory.GetCurrentDirectory()}\\{_xmlfilesfolder}";

            if (!Directory.Exists(xmlfilesfolder))
                return;




            Initialize();

            if (!IsActive)
                return;


            // загрузка файла каскада нужного типа

          //  MessageBox.Show(xmls_db[tp]);
          classifier = new CascadeClassifier(xmls_db[tp]);

           

        }


        private void Initialize()
        {

            IsActive = true;


            xmls_db = new Dictionary<ClassifierType, string>();

            xmls_db.Add(ClassifierType.FaceAnfas, $"{xmlfilesfolder}\\haarcascade_frontalface_alt2.xml");
            xmls_db.Add(ClassifierType.FaceProfile, $"{xmlfilesfolder}\\haarcascade_profileface.xml");
            xmls_db.Add(ClassifierType.HumanFigureFull, $"{xmlfilesfolder}\\haarcascade_fullbody.xml");
            xmls_db.Add(ClassifierType.HumanFigureUpper, $"{xmlfilesfolder}\\haarcascade_upperbody.xml");
            xmls_db.Add(ClassifierType.HumanFigureLower, $"{xmlfilesfolder}\\haarcascade_lowerbody.xml");

            xmls_db.Add(ClassifierType.LicencePlateRussian, $"{xmlfilesfolder}\\haarcascade_frontalface_alt2.xml");
        //    xmls_db.Add(ClassifierType.LicencePlateRussian, $"{xmlfilesfolder}\\haarcascade_licence_plate_rus_16stages.xml");


            foreach (ClassifierType t in xmls_db.Keys)
                if (!File.Exists(xmls_db[t]))
                    IsActive = false;


        }


        public CascadeClassifier classifier;

        private bool IsActive;

        private Dictionary<ClassifierType, string> xmls_db;

        private string xmlfilesfolder;

     



        public enum ClassifierType
        {
            FaceAnfas = 0,
            FaceProfile = 1,
            HumanFigureFull = 2,
            HumanFigureLower = 3,
            HumanFigureUpper = 4,
            LicencePlateRussian = 5


        }

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

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