gpt4 book ai didi

c++ - 如何在 dlib 和 C++ 中获取照片的宽度和高度?

转载 作者:行者123 更新时间:2023-11-28 01:23:32 25 4
gpt4 key购买 nike

我正在编写一个应用程序来检测人脸并将其框起来。为了更好地识别,我将照片放大 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 (exception& ex)
{
cout << "Exception: " << ex.what() << endl;
cin.get();
}
return 0;
}

我如何知道照片的大小或在显示前将其缩小 2 倍?

最佳答案

array2d类有成员函数nc()nr()来获取列数和行数,这应该以某种方式(可能除以颜色深度,即每个像素的字节数)对应于以像素为单位的图像大小。

关于c++ - 如何在 dlib 和 C++ 中获取照片的宽度和高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55023374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com