qtopencv安装教程
时间: 2025-04-01 07:23:49 浏览: 47
### 关于Qt与OpenCV集成的安装教程
#### 1. Qt与OpenCV简介
Qt 是一种跨平台的应用程序开发框架,而 OpenCV 则是一个开源计算机视觉库。两者结合可以实现图形界面与图像处理功能的强大组合[^2]。
---
#### 2. 环境准备
在开始之前,请确保已经完成以下环境配置:
- **操作系统**: 使用 Ubuntu 18.04 桌面版作为基础系统。
- **依赖工具**: 安装必要的构建工具和依赖项。
```bash
sudo apt update && sudo apt upgrade
sudo apt install build-essential cmake git pkg-config libgtk-3-dev \
libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
gfortran openexr libatlas-base-dev python3-dev python3-numpy \
libdc1394-22-dev qtbase5-dev qtmultimedia5-dev libqt5multimedia5-plugins
```
上述命令会安装 CMake、Git 和其他用于编译 OpenCV 的必要组件以及 Qt 开发包。
---
#### 3. 编译并安装 OpenCV
按照以下步骤手动编译 OpenCV 并使其支持 Qt 集成:
##### (a) 下载源码
访问官方仓库获取最新版本的 OpenCV 源码:
```bash
git clone https://github.com/opencv/opencv.git
cd opencv
mkdir build && cd build
```
##### (b) 配置 CMake
运行 CMake 命令以指定构建选项,并启用 GUI 支持模块 `highgui` 及 Python 绑定(可选)。
```bash
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_QT=ON \
-D BUILD_EXAMPLES=OFF ..
```
注意 `-D WITH_QT=ON` 参数是为了使 OpenCV 能够利用 Qt 提供的功能来显示窗口或视频流。
##### (c) 构建与安装
执行实际的编译过程并将生成的目标文件复制到系统的标准路径下。
```bash
make -j$(nproc)
sudo make install
sudo ldconfig
```
最后一步通过更新共享库缓存使得新加入的 OpenCV 动态链接库能够被识别[^3]。
---
#### 4. 创建简单的测试项目验证集成效果
创建一个基本的例子用来确认二者之间的协作无误。
##### (a) 准备代码
编写一段小程序加载图片并通过 Qt 显示出来。
```cpp
#include <QApplication>
#include <QWidget>
#include <QImage>
// 加入 OpenCV 头部定义
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
class MainWindow : public QWidget {
public:
MainWindow(QWidget *parent = nullptr);
};
MainWindow::MainWindow(QWidget *parent): QWidget(parent){
cv::Mat image;
image = cv::imread("/path/to/image.jpg", cv::IMREAD_COLOR); // 替换为真实路径
QImage img((uchar*)image.data, image.cols, image.rows,
static_cast<int>(image.step), QImage::Format_BGR888);
QLabel label(this);
label.setPixmap(QPixmap::fromImage(img));
this->resize(image.size());
}
int main(int argc, char* argv[]) {
QApplication app(argc, argv);
MainWindow window;
window.show();
return app.exec();
}
```
##### (b) 设置编译参数
保存以上内容至名为 `main.cpp` 文件之后,在终端输入如下指令完成连接操作。
```bash
g++ -I/usr/include/opencv4 -L/usr/lib/x86_64-linux-gnu -o test_opencv_qt main.cpp \
-lQt5Widgets -lopencv_core -lopencv_highgui -lopencv_imgcodecs $(pkg-config --libs QtCore QtGui QtWidgets)
```
这里假设您已成功部署好对应架构下的 OpenCV 库位置;如果遇到任何错误提示,则需重新核查先前各环节设置是否正确[^4]。
---
#### 5. 远程调试与维护建议
对于树莓派这样的嵌入式设备来说,推荐采用远程方式对其进行管理和编程工作。例如借助 TeamViewer 或者 Sunlogin(向日葵) 实现便捷高效的交互体验。
同时考虑到硬件资源有限的情况,尽量优化应用程序性能表现,减少不必要的计算开销。
---
###
阅读全文
相关推荐


















