在 Windows 系统下使用 Qt 配置 OpenCV 和 MySql
在 Windows 系统下,我们可以利用 Qt 来配置 OpenCV 和 MySql,以实现强大的图像处理和数据管理功能。以下将详细说明配置方法:
配置 OpenCV
方法一:使用预编译的 OpenCV 库
-
下载 OpenCV :根据所使用的编译器下载对应的 OpenCV 版本。若使用 MSVC 编译器,可到 OpenCV 官网下载 msvc 编译的版本,下载地址为https://opencv.org/releases/。若使用 MinGW 编译器,可在GitHub - huihut/OpenCV-MinGW-Build: 👀 MinGW 32bit and 64bit version of OpenCV compiled on Windows. Including OpenCV 3.3.1, 3.4.1, 3.4.1-x64, 3.4.5, 3.4.6, 3.4.7, 3.4.8-x64, 3.4.9, 4.0.0-alpha-x64, 4.0.0-rc-x64, 4.0.1-x64, 4.1.0, 4.1.0-x64, 4.1.1-x64, 4.5.0-with-contrib, 4.5.2-x64下载预编译的 MinGW 版本。
-
配置环境变量 :将 OpenCV 的 bin 文件夹路径添加到系统的环境变量 Path 中。例如,对于 MSVC 版本,路径为
C:\OpenCV_s\opencv_vc\opencv\build\bin
;如果是 MinGW 版本,路径为C:\OpenCV_s\OpenCV-MinGW-Build-OpenCV-3.4.8-x64\x64\mingw\bin
。 -
在 Qt 项目中配置 :在项目的.pro 文件中添加以下代码,指定 OpenCV 的头文件和库文件路径:
* 对于 MSVC 版本:
```
INCLUDEPATH += C:\OpenCV_s\opencv_vc\opencv\build\include
LIBS += -LC:\OpenCV_s\opencv_vc\opencv\build\x64\vc15\lib -lopencv_world460
```
* 对于 MinGW 版本:
```
INCLUDEPATH += C:\OpenCV_s\OpenCV-MinGW-Build-OpenCV-3.4.8-x64\x64\mingw\include
LIBS += -LC:\OpenCV_s\OpenCV-MinGW-Build-OpenCV-3.4.8-x64\x64\mingw\lib -lopencv_world348
```
4. 测试 :创建一个简单的 OpenCV 程序来测试配置是否成功。例如:
#include <QCoreApplication>
#include "opencv2/opencv.hpp"int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);using namespace cv;Mat image = imread("C:/test/1.jpeg");// 改成自己图片的路径,注意使用的是'/'imshow("Output", image);waitKey(0);return a.exec();
}
运行程序,若能正确显示图片,则说明 OpenCV 配置成功。
方法二:使用 CMake 编译 OpenCV 源码
-
安装 CMake :从Download CMake下载并安装适合 Windows 系统的 CMake 版本,在安装过程中可默认选择将 CMake 添加到系统环境变量 Path 中。
-
下载 OpenCV 源码和 Contrib 外接模块 :从 OpenCV 官网下载 OpenCV 源码,如 OpenCV 4.6.0 版本,下载地址为https://github.com/opencv/opencv/archive/4.6.0.zip;同时,从 GitHub 上下载 opencv_contrib 仓库,以获取更多的外接模块,下载地址为https://github.com/opencv/opencv_contrib/archive/4.6.0.zip。
-
配置编译选项 :打开 CMake GUI,设置源码目录为 OpenCV 源码的根目录,设置构建输出目录,然后点击 “Configure” 按钮。在弹出的对话框中选择 Qt 所使用的编译器,如 MinGW 的 gcc 和 g++。根据需要选中或取消勾选一些编译选项,如 WITH_QT、WITH_OPENGL 等,同时指定 Contrib 模块的路径。配置完成后,点击 “Generate” 按钮生成 Makefile 文件。
-
编译和安装 :在构建输出目录下打开命令行,输入
mingw32-make
命令开始编译,编译完成后输入mingw32-install
命令进行安装。 -
在 Qt 项目中使用 :与方法一中的在项目.pro 文件中配置 OpenCV 的头文件和库文件路径类似,但此时的路径应指向自己编译安装后的 OpenCV 的相应目录。
配置 MySql
-
安装 MySql 数据库 :从 MySql 官网下载适合 Windows 系统的 MySql 安装包,下载地址为https://dev.mysql.com/downloads/mysql/,按照安装向导进行安装。在安装过程中,建议选择完整安装,并记录下安装路径、用户名和密码等信息。
-
下载 MySql Connector/C++ :从 MySql 官网下载 MySql Connector/C++,选择与系统架构和编译器匹配的版本,下载地址为https://dev.mysql.com/downloads/connector/cpp/。
-
配置环境变量 :将 MySql Connector/C++ 的 bin 文件夹路径添加到系统的环境变量 Path 中。
-
配置 Qt :在 Qt 的安装目录下找到
qtbase\src\plugins\sqldrivers\mysql
文件夹,将其复制到一个临时目录,如D:\qt-mysql-plugin
。在该临时目录下找到qsqlmysql.pro
文件,修改其中的INCLUDEPATH
和LIBS
变量,分别指向 MySql Connector/C++ 的 include 和 lib 文件夹路径,例如:INCLUDEPATH += D:\mysql-connector-c++-8.0.33-winx64\include LIBS += D:\mysql-connector-c++-8.0.33-winx64\lib\libmysql.lib
然后在命令行中进入该临时目录,运行以下命令来编译和安装 MySql 驱动程序:
qmake qsqlmysql.pro mingw32-make mingw32-make install
编译成功后,会生成`qsqlmysql.dll`文件,并将其复制到 Qt 的插件目录`plugins/sqldrivers`下。
5. 在 Qt 项目中使用 :在项目中包含必要的头文件,并使用 QSqlDatabase 类来连接和操作 MySql 数据库。例如:
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");db.setHostName("localhost");db.setDatabaseName("testdb");db.setUserName("root");db.setPassword("password");if (db.open()) {qDebug() << "Connected to MySQL database successfully!";QSqlQuery query;query.exec("SELECT * FROM testtable");while (query.next()) {int id = query.value(0).toInt();QString name = query.value(1).toString();qDebug() << "ID:" << id << "Name:" << name;}db.close();} else {qDebug() << "Failed to connect to MySQL database:" << db.lastError().text();}return a.exec();
}
在项目.pro 文件中添加以下代码以包含 Qt 的 SQL 模块:
QT += sql
通过以上步骤,我们就可以在 Windows 系统下使用 Qt 成功配置 OpenCV 和 MySql,从而在项目开发中充分利用它们的强大功能。