СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть

СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть (https://scbist.com/)
-   OpenCV (https://scbist.com/opencv/)
-   -   Использование файлов каскадов Хаара (пакет Emgu.CV) (https://scbist.com/opencv/56327-ispolzovanie-failov-kaskadov-haara-paket-emgu-cv.html)

Вы просматриваете версию для печати. Если вы хотите увидеть статью полностью - перейдите по ссылке

Admin 23.09.2023 07:19

Использование файлов каскадов Хаара (пакет 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


        }

    }



Часовой пояс GMT +3, время: 11:33.

Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot


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