在QT中安装dlib库

该博客介绍了QT和dlib相关软件包的下载安装,给出了cmake、QT、dlib的百度网盘链接及提取码。还说明了生成静态库和头文件的步骤,包括用cmake编译,设置生成器、编译器、编译选项等,最后提及在pro文件添加内容进行测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、下载并安装相关软件包

1、cmake

链接:https://pan.baidu.com/s/1g57OuGMad_idSQAzkkpm4w
提取码:0232

2、QT

链接:https://pan.baidu.com/s/1j8X7z3iHG-0IQVnjlAAtIQ
提取码:hl8w

3、dlib

链接:https://pan.baidu.com/s/1DA1vHmt1Tx6cFp0Y2gCUPQ
提取码:jmen

二、生成静态库和头文件

  新建一个F:/dlib/build文件夹,打开cmake进行编译:
在这里插入图片描述
1、点击configure,设置生成器及编译器
在这里插入图片描述
选择QT中的gcc和g++编译器:
在这里插入图片描述
2、设置编译选项
在这里插入图片描述
  取消GIF格式支持,因为这个需要另外安装库,不然会报错,INSTALL_PREFIX对应就是最终编译完成,得到库的保存路径。另外两个矩阵运算库,也不要勾选

  再次点击configure和generate。

3、编译

cd F:\dlib\build
mingw32-make
mingw32-make install

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、测试

  在pro文件中添加:

LIBS+=F:/dlib/build/lib/libdlib.a
INCLUDEPATH+=F:/dlib/build/include
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<dlib/image_processing/frontal_face_detector.h>
#include<dlib/gui_widgets.h>
#include<dlib/image_io.h>
#include<dlib/image_processing.h>
#include<iostream>
#include<QDebug>
#include<QFileDialog>
#include<QString>
#include<QTextCodec>
#include<QImage>
#include<QPainter>
using namespace dlib;
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    QString imgName = QFileDialog::getOpenFileName( this, tr("Open Image"), ".",tr("Image Files(*.png *.jpg *.jpeg *.bmp)"));
    if(imgName.isNull())return;
    QTextCodec*code=QTextCodec::codecForName("gb2312");
    std::string name=code->fromUnicode(imgName).data();
    //--------------------------------------------------
    QImage*labImg=new QImage;
    if(!(labImg->load(name.data())))
    {
        delete labImg;
        return;
    }
    QPixmap pixmap=QPixmap::fromImage(*labImg);
    QPainter painter(&pixmap);
    painter.setPen(Qt::red);
    //--------------------------------------------------
    frontal_face_detector detector=get_frontal_face_detector();
    dlib::array2d<unsigned char>img;
    load_image(img,name.data());
    dlib::pyramid_up(img);
    std::vector<dlib::rectangle>dets=detector(img);
    dlib::rectangle myRect;
    int faceCount=dets.size();
    ui->textBrowser->append(QString::number(faceCount));
    for(int32_t i=0; i < faceCount; i++)
    {
        myRect=dets.at(i);
        ui->textBrowser->append("x:"+QString::number(myRect.left()/2));
        ui->textBrowser->append("y:"+QString::number(myRect.top()/2));
        ui->textBrowser->append("width:"+QString::number(myRect.width()/2));
        ui->textBrowser->append("height:"+QString::number(myRect.height()/2));
        painter.drawRect(myRect.left()/2,myRect.top()/2,myRect.width()/2,myRect.height()/2);
    }
    ui->label->setPixmap(pixmap);
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~青萍之末~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值