Как получить ширину и высоту фотографии в dlib и C ?

#c #face-detection #dlib

#c #распознавание лиц #dlib

Вопрос:

Я пишу приложение, которое распознает лицо и обрамляет его. Для лучшего распознавания я увеличиваю фотографию в 2 раза и когда я ее показываю, она получается в 2 раза больше, чем изначально, как уменьшить ее в 2 раза? В окне есть метод resize (), но для его использования вам нужно знать начальный размер фотографии, но я не знаю как.

 #include <iostream>
#include <clocale>
#include <dlib/image_processing/frontal_face_detector.h>
#include <dlib/gui_widgets.h>
#include <dlib/image_io.h>

using namespace dlib;
using namespace std;

int main(int argc, char* argv[])
{
    try
    {
        setlocale(LC_ALL, "Rus");
        if (argc < 2)
        {
            cout << "face_detector photo.jpg";
            cin.get();
            return 0;
        }
        array2d<unsigned char> img;
        frontal_face_detector detector = get_frontal_face_detector();
        image_window win;
        load_image(img, argv[1]);
        pyramid_up(img); //upsize photo x2
        std::vector<rectangle> dets = detector(img);
        cout << "Faces count: " << dets.size() << endl;
        win.clear_overlay();
        //win.set_size();
        win.set_image(img);
        win.add_overlay(dets, rgb_pixel(255, 0, 0));
        cin.get();
    }
    catch (exceptionamp; ex)
    {
        cout << "Exception: " << ex.what() << endl;
        cin.get();
    }
    return 0;
}
  

Как мне узнать размер фотографии или уменьшить его в 2 раза перед отображением?

Ответ №1:

array2d Класс имеет функции-члены nc() и nr() для получения количества столбцов и строк, которые должны каким-то образом (потенциально разделенные на глубину цвета, т. е. количество байт на пиксель) соответствовать размеру изображения в пикселях.

Ответ №2:

pyramid_up() имеет противоположную функцию, pyramid_down() .

Комментарии:

1. Такой функции нет.

2. @Герман Oh? dlib.net/imaging.html#pyramid_down написано: «pyramid_down — это простой функциональный объект, помогающий создавать пирамиды изображений. Это уменьшает выборку изображения на отношение N к N-1, где N предоставляется пользователем в качестве аргумента шаблона. »

3. Хорошо, но это все еще не функция, и я понятия не имею, как использовать это в моем коде.