Qt配opencv、onnxruntime环境

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++17

# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    main.cpp \
    mainwindow.cpp \
    onnx.cpp

HEADERS += \
    mainwindow.h \
    onnx.h

FORMS += \
    mainwindow.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target


win32:CONFIG(release, debug|release

### 如何在Qt置和集成ONNX Runtime #### 准备工作 为了使Qt能够调用ONNX Runtime,需完成一系列准备工作。这包括设置开发环境以及确保所有必要的依赖项都已正确安装。 - **获取必要资源** - 下载并解压ONNX Runtime库[^1]。 #### 设置包含目录 将ONNX Runtime的头文件路径添加至项目的包含目录列表内。此操作允许编译器找到所需的声明语句和其他预处理指令。对于Qt Creator而言,可以在`.pro`文件里通过`INCLUDEPATH`变量指定这些位置: ```qmake INCLUDEPATH += $$PWD/path/to/onnxruntime/include \ $$PWD/path/to/opencv/build/include ``` 上述命令假设OpenCV也一并被引入到了项目之中;如果仅使用ONNX Runtime,则只需要指向前者对应的路径即可[^2]。 #### 添加库目录与链接选项 同样地,在`.pro`文件内部定义额外的库搜索路径,并告知构建系统哪些静态或动态链接库应当参与最终可执行程序的创建过程。具体做法如下所示: ```qmake LIBS += -lonnxruntime \ -L$$PWD/path/to/opencv/build/x64/vc15/lib \ -lopencv_world470d # 假设版本号为4.7.0且启用了调试模式 ``` 这里需要注意的是,实际使用的库名称可能会有所不同,取决于所选平台架构(如x86 vs x64)、编译方式(Debug vs Release),以及其他因素的影响。因此建议查阅官方文档来确认确切的名字。 #### 复制DLL文件 为了让应用程序能够在运行时成功加载外部函数库,还需要把相应的DLL副本放置于合适的位置—通常是在输出二进制所在的同一级目录下。可以通过手动复制粘贴的方式达成目的,也可以借助脚本自动化这一流程。 #### 创建自定义组件用于展示结果 考虑到用户界面交互的需求,可以考虑基于已有框架扩展新的功能模块。例如,定义一个名为`Show`的基础抽象类,它提供了一个纯虚成员方法`imageshow()`负责接收来自后台计算单元的数据帧作为参数,并将其渲染出来供前端呈现给终端使用者查看[^3]。 ```cpp #ifndef COMMON_API_H #define COMMON_API_H #include <iostream> #include <vector> #include <opencv2/opencv.hpp> class Show { public: virtual ~Show() = default; virtual void imageshow(cv::Mat &image) = 0; }; #endif // COMMON_API_H ``` 以上即是如何在Qt环境置及应用ONNX Runtime的大致步骤概述。当然,具体情况可能还会涉及到更多细节上的调整优化措施,比如性能瓶颈排查、跨平台移植兼容性考量等方面的工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值