facedetect

Adrenal1ne
Posts: 156
Joined: Tue Oct 22, 2013 6:44 am

Re: facedetect

Post by Adrenal1ne »

admin wrote:Мы говорим о выделении в прелоад 2 ?
Нет, preload 1. Заходим в edit thumb(в углу каждой тумбы есть для коррекции). Ну или в тестирование кроп-файла. Данные функции имеют одинаковый вид.
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: facedetect

Post by admin »

Проверил - да, берет лицо, но если убрать там и делать просто по выделению - тогда на тесте кроп профайле не будет работать. Как раз то о чем говорили в начале топика.

Что б временно убрать для конкретной тумбы - можно просто убрать строку face detect.
Don't forget to run script update
GhostUser
Posts: 47
Joined: Thu Mar 25, 2021 10:30 pm

Re: facedetect

Post by GhostUser »

для последней версии OpenCV – 4.5.1 меняется что-то ? не юзал её раньше никогда...
и добавьте наверное более подробный пример как и куда её ставить/собирать для этого случая
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: facedetect

Post by admin »

по идее ничего не меняется, но я не тестировал

куда угодно собираем, все равно в сетингах надо указывать путь к бинарнику
Don't forget to run script update
GhostUser
Posts: 47
Joined: Thu Mar 25, 2021 10:30 pm

Re: facedetect

Post by GhostUser »

в общем, поправьте всё-таки пример в wiki... вот рабочий вариант для OpenCV 4.2 (там все константы в namespace переехали):

Code: Select all

#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/objdetect/objdetect.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

const char* keys =
{
        "{input| |The source image}"
        "{outdir| |The output directory}"
        "{cascade| |The cascade file}"
};

int main(int argc, const char** argv)
{
        cv::CommandLineParser parser(argc, argv, keys);
        std::string infile = parser.get<std::string>("input");
        std::string outdir = parser.get<std::string>("outdir");
        std::string cascade_file = parser.get<std::string>("cascade");

        cv::CascadeClassifier cascade;
        if (cascade_file.empty() || !cascade.load(cascade_file))
        {
                std::cout << cv::format("Error: cannot load cascade file! \n");
                return -1;
        }

        cv::Mat src = cv::imread(infile);
        if (src.empty())
        {
                std::cout << cv::format("Error: cannot load source image!\n");
                return -1;
        }

        cv::Mat gray;
        cv::cvtColor(src, gray, cv::COLOR_BGR2GRAY);
        cv::equalizeHist(gray, gray);

        std::vector<cv::Rect> faces;
        cascade.detectMultiScale(gray, faces, 1.2, 3);

        cv::Mat src_copy = src.clone();
        for (int i = 0; i < faces.size(); i++)
        {
                std::cout << faces[i];
        }

        return 0;
}
собирать так:

Code: Select all

g++ `pkg-config --cflags --libs opencv4` face.cpp `pkg-config --libs opencv4` -o face
Last edited by GhostUser on Thu Apr 01, 2021 2:14 am, edited 1 time in total.
GhostUser
Posts: 47
Joined: Thu Mar 25, 2021 10:30 pm

Re: facedetect

Post by GhostUser »

кстати, можно ли breadcrumbs на форуме поправить - что бы весь путь выводил, сейчас только Home и сразу в корень переходит (а раздел текущего форума - нет)
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: facedetect

Post by admin »

GhostUser wrote: Thu Apr 01, 2021 2:07 am кстати, можно ли breadcrumbs на форуме поправить - что бы весь путь выводил, сейчас только Home и сразу в корень переходит (а раздел текущего форума - нет)
done
Don't forget to run script update
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: facedetect

Post by admin »

GhostUser wrote: Thu Apr 01, 2021 1:42 am в общем, поправьте всё-таки пример в wiki... вот рабочий вариант для OpenCV 4.2 (там все константы в namespace переехали):

Code: Select all

#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/objdetect/objdetect.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

const char* keys =
{
        "{input| |The source image}"
        "{outdir| |The output directory}"
        "{cascade| |The cascade file}"
};

int main(int argc, const char** argv)
{
        cv::CommandLineParser parser(argc, argv, keys);
        std::string infile = parser.get<std::string>("input");
        std::string outdir = parser.get<std::string>("outdir");
        std::string cascade_file = parser.get<std::string>("cascade");

        cv::CascadeClassifier cascade;
        if (cascade_file.empty() || !cascade.load(cascade_file))
        {
                std::cout << cv::format("Error: cannot load cascade file! \n");
                return -1;
        }

        cv::Mat src = cv::imread(infile);
        if (src.empty())
        {
                std::cout << cv::format("Error: cannot load source image!\n");
                return -1;
        }

        cv::Mat gray;
        cv::cvtColor(src, gray, cv::COLOR_BGR2GRAY);
        cv::equalizeHist(gray, gray);

        std::vector<cv::Rect> faces;
        cascade.detectMultiScale(gray, faces, 1.2, 3);

        cv::Mat src_copy = src.clone();
        for (int i = 0; i < faces.size(); i++)
        {
                std::cout << faces[i];
        }

        return 0;
}
собирать так:

Code: Select all

g++ `pkg-config --cflags --libs opencv4` face.cpp `pkg-config --libs opencv4` -o face


спасибо, добавлено в вики
Don't forget to run script update
GhostUser
Posts: 47
Joined: Thu Mar 25, 2021 10:30 pm

Re: facedetect

Post by GhostUser »

admin wrote: Thu Apr 01, 2021 1:53 pm done
thx

кстати, чёт после последнего апдейда Image

переставляю с нуля несколько раз - результат такой же

---

и кстати, как правильно TCMS преводится - TradeCMS (как в админке на главной внизу написано) или Thumb CMS (как в wiki) ? ;)
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: facedetect

Post by admin »

ситуация такая
ошибки возникают эти если после инсталла не проведен ап, а запускается крон

так что можно нафантазировать какая там была ситуация в реальности

можно просто запустить ап и удалить эти сообщения


Хм.. да, как-то не обращал внимания) Trade CMS мне кажется лучше отражает суть ) буду переименовывать по мере нахождения
Don't forget to run script update
Post Reply