1. 虚拟机安装Ubuntu
2. 安装qt5
下载完成后在下载目录打开终端,赋予可执行权限,再执行即可安装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: