OpenCV+Ubuntu+QT实现人脸检测 识别(考勤管理)_ubuntu和qt opencv(1)

1. 虚拟机安装Ubuntu

2. 安装qt5

选择linux版本下载完成后在下载目录打开终端,赋予可执行权限,再执行即可安装qt
sudo chmod +x qt-opensource-linux-x64-5.12.8.run
在这里插入图片描述

3. 安装OpenCV库

可参考文章

4. 在QT中引用OpenCV库

若按照上述方法安装好opencv,创建测试项目,在pro文件中加入:

INCLUDEPATH += /usr/local/include //opencv头文件安装路径
LIBS += /usr/local/lib/libopencv_\* //opencv库文件路径

测试:

#include <QWidget>
#include <opencv2/core.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>
#include <QMessageBox>
#include <QDebug>

using namespace std;
using namespace cv;

//widget.cpp的析构函数
{
VideoCapture cap(0);
    if(!cap.isOpened())
        QMessageBox::warning(this,"error","open camera faild!");
    cout << "open camera success" << endl;
    Mat frame;
    cap.set(cv::CAP_PROP_FRAME_WIDTH, 640);
    cap.set(cv::CAP_PROP_FRAME_HEIGHT, 480);
    cap.set(cv::CAP_PROP_FPS, 30);


    for(;;){
        cap >> frame;
        if (frame.empty()) {
            qDebug() << "错误:无法捕获帧";
            break;  // 退出循环或根据需要处理错误
        }
        imshow("video", frame);
        waitKey(27);
    }

}

(若出现警告 “VIDEOIO(V4L2:/dev/video0): select() timeout”,在虚拟机->设置->USB控制器,更改一下兼容性,更改为3.1即可解决问题)

启动程序若正常出现摄像头画面则表明安装配置成功。

ps:一般配置完成后你会发现摄像头是反镜像的(实际使用一般是镜像-前置摄像头)这是可以用flip函数来调整画面流frame:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值