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

СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть (https://scbist.com/)
-   OpenCV (https://scbist.com/opencv/)
-   -   Выделить лица из фото (пакет Emgu.CV) (https://scbist.com/opencv/56325-vydelit-lica-iz-foto-paket-emgu-cv.html)

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

Admin 23.09.2023 07:02

Выделить лица из фото (пакет Emgu.CV)
 
Выделить лица из фото (пакет Emgu.CV)


storagefolder - папка с файлами фото, которые будут сохранены


Код:

public Image<Gray, byte>[] ExtractFacesFromPhoto(Image<Rgb, byte> img, string file_prefix, string storagefolder, bool savetofile = false)
        {

//  массив Image с лицами, IsFaceOnPhoto(img) возвращает количество лиц
            Image<Gray, byte>[] ret = new Image<Gray, byte>[IsFaceOnPhoto(img)];


            Image<Gray, byte> gray_img = ConvertToGray(img);

            Rectangle[] rec = GetRectanglesForFaces(gray_img);

            if (rec.Length != ret.Length)
                return ret;


            for (int i = 0; i < rec.Length; i++)
                ret[i] = gray_img.GetSubRect(rec[i]);


            if (savetofile)
            {


                for (int i = 0; i < rec.Length; i++)
                {
                 
                    AddToErrorLog("Сохранение в файл: " + FilesAndFolders.GenerateUniqueFilename(file_prefix, $"{Directory.GetCurrentDirectory()}\\{storagefolder}\\", "jpg", "_"));

              //    MessageBox.Show(FilesAndFolders.GenerateUniqueFilename(file_prefix, $"{Directory.GetCurrentDirectory()}\\{storagefolder}\\", "jpg", "_"));
                    ret[i].Save(FilesAndFolders.GenerateUniqueFilename(file_prefix, $"{Directory.GetCurrentDirectory()}\\{storagefolder}\\", "jpg", "_"));

                }
            }

            return ret;

        }



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

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


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