首先下载exe安装opencvhttps://github.com/opencv/opencv/releases
打开项目设置,vc++目录,包含目录加入
E:\APP\opencv4.11\opencv\build\include
E:\APP\opencv4.11\opencv\build\include\opencv2
库目录加入
E:\APP\opencv4.11\opencv\build\x64\vc16\lib
链接器--输入--附加依赖项,添加.dll文件(只需一个 ),再把这文件放入程序的工程目录(不需要同时放两个,你是debug的就放带d的,release就放不带d的)...依赖项中添加的版本与你复制到工程目录下的版本对应

在系统环境变量Path
里添加上这个目录
重启vs2017,编写测试代码
c
#include "QtWidgetsApplication1.h"
#include <opencv2/opencv.hpp>
#include <QMessageBox>
#include <QFile>
QtWidgetsApplication1::QtWidgetsApplication1(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
// 用 OpenCV 加载一张图片
init();
}
QtWidgetsApplication1::~QtWidgetsApplication1()
{}
void QtWidgetsApplication1::init()
{
QString path = "C:\\Users\\BAOfanTing\\Pictures\\dz2.jpg";
if (!QFile::exists(path)) {
QMessageBox::warning(this, "提示 ", "文件不存在:" + path);
}
cv::Mat img = cv::imread(path.toStdString());
if (img.empty()) {
QMessageBox::critical(this, "错误 ", "图片加载失败,cv::imread 失败!");
return;
}
// 转 RGB
cv::cvtColor(img, img, cv::COLOR_BGR2RGB);
// 转 QImage
QImage qimg(img.data, img.cols, img.rows, static_cast<int>(img.step), QImage::Format_RGB888);
// 设置 QLabel 大小
ui.lb_video->setMinimumSize(400, 300);
ui.lb_video->setScaledContents(true); // 让 QLabel 自动缩放内容
ui.lb_video->setPixmap(QPixmap::fromImage(qimg));
}
报错cv读取图片为空
运行报错,cv读取不到图片
把.dll文件都改成一个后再次运行,能够加载图片**(附加依赖项里只留一个,程序工程目录下也只留对应的一个)**
