【三维可视化Qt+OPEN CASCADE-001】傻瓜式配置——可在Qt creator下运行github例程

前言
因为一个大项目需要,在QT界面利用occ做三维可视化的东西,所以需要配置。网上的配置攻略不是在VS下用MFC做,就是用VS+QT的插件,也有老哥用Qt Creator做,主要是下面两个:
occQt
出自occ方面的大神,eryar
多说一句,虽然是大佬,但是和蔼可亲,之前配置有问题,发邮件给大佬,大佬没多久就回复了,给大佬点赞。
Windows系统下QT+OpenCasCAD仿真开发
还有个这个老哥,目测研究的内容和我们教研室方向还挺像,有缘有缘,也是大佬。
但是,问题来了,按照上面两个老哥的攻略,我还是运行不了,让我十分苦恼。好在后来自己摸索出来了,主要问题是环境配置!!!环境配置!!!环境配置!!!

一、开发环境
1、Windows 10 64位;
2、Qt 5.14.1 MSVC2017 64bit(扛不住,归根到底大恒相机C++接口不支持MINGW,我只能投入MSVC怀抱了,不过目测OCC也不支持?)
3、OPEN CASCADE 7.4(不多说,直接上最新版)

二、安装与环境配置
1、安装Visual Studio 2017
2、安装Qt 5.14.1与自带的Qt Creator 4.11.1
3、重头戏来了,官网下载DOWNLOAD OPEN CASCADE TECHNOLOGY 7.4.0

注意:直接安装版即可,官网在配置说明里面也说了,安装版直接支持vs2017,虽然是vc14,但实际上是vc141,也就是vc++ 2017,然后里面的第三方库啥的也自带,也不用编译啥的。
下载好了直接安装即可。
我安装在:

E:\OpenCASCADE-7.4.0-vc14-64
1
4、配置环境变量
环境变量十分关键,环境变量配置不好,程序编译成功,但是一运行就crash,让我十分苦恼。环境变量就是在path里面加目录:

比较多,该加的都加了,估计也有不该加的,参考我的安装路径,配置如下:

E:\OpenCASCADE-7.4.0-vc14-64\ffmpeg-3.3.4-64\bin
E:\OpenCASCADE-7.4.0-vc14-64\freeimage-3.17.0-vc14-64\bin
E:\OpenCASCADE-7.4.0-vc14-64\freetype-2.5.5-vc14-64\bin
E:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\win64\vc14\bin
E:\OpenCASCADE-7.4.0-vc14-64\qt5.11.2-vc14-64\bin
E:\OpenCASCADE-7.4.0-vc14-64\rapidjson-1.1.0\bin
E:\OpenCASCADE-7.4.0-vc14-64\tbb_2017.0.100\bin\intel64\vc14
E:\OpenCASCADE-7.4.0-vc14-64\tbb_2017.0.100\bin\intel64\vc14_ui
E:\OpenCASCADE-7.4.0-vc14-64\tcltk-86-64\bin
E:\OpenCASCADE-7.4.0-vc14-64\vtk-6.1.0-vc14-64\bin
E:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\win64\vc14\lib
E:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\inc
1
2
3
4
5
6
7
8
9
10
11
12
5、去github下载eryar大佬的例程,网址就是上面提到的网址。大佬的例程下载下来,按照大佬的readme文件,把pro文件里面的CASROOT改成自己的安装路径后运行还是不行,会提示找不到头文件:

等于还是路径问题,然后我发现,大佬引用CASROOT的时候,加了括号:

    INCLUDEPATH +=  \
        $$(CASROOT)/inc
1
2
把括号去掉,就ok了,然后把pro文件里面所有CASROOT前后的括号全部去掉,搞定!
修改后的pro文件如下:

#-------------------------------------------------
#
# Project created by QtCreator 2013-08-18T15:52:09
#
#-------------------------------------------------

QT       += core gui opengl

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = occQt
TEMPLATE = app

SOURCES += main.cpp \
    occQt.cpp       \
    occView.cpp

CONFIG += c++11

HEADERS  += \
    occQt.h \
    occView.h

FORMS    += \
    occQt.ui

RESOURCES += \
    occqt.qrc

CASROOT = E:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\

win32 {
    DEFINES +=  \
        WNT
    INCLUDEPATH +=  \
        $$CASROOT/inc

    win32-msvc2010 {
        compiler=vc10
    }

    win32-msvc2012 {
        compiler=vc11
    }

    win32-msvc2013 {
        compiler=vc12
    }

    win32-msvc2015 {
        compiler=vc14
    }

    win32-msvc {
        compiler=vc14
    }


    # Determine 32 / 64 bit and debug / release build
    !contains(QMAKE_TARGET.arch, x86_64) {
        CONFIG(debug, debug|release) {
            message("Debug 32 build")
            LIBS += -L$$CASROOT/win32/$$compiler/lib
        }
        else {
            message("Release 32 build")
            LIBS += -L$$CASROOT/win32/$$compiler/lib
        }
    }
    else {
        CONFIG(debug, debug|release) {
           message("Debug 64 build")
           LIBS += -L$$CASROOT/win64/$$compiler/lib
           #message("$$CASROOT/win64/$$compiler/lib")
        }
        else {
            message("Release 64 build")
            LIBS += -L$$CASROOT/win64/$$compiler/lib
        }
    }
}

linux-g++ {
    INCLUDEPATH +=  \
        /usr/local/include/opencascade

    LIBS += \
        -L/usr/local/lib/
}

LIBS +=         \
    -lTKernel   \
    -lTKMath    \
    -lTKG3d     \
    -lTKBRep    \
    -lTKGeomBase\
    -lTKGeomAlgo\
    -lTKTopAlgo \
    -lTKPrim    \
    -lTKBO      \
    -lTKBool    \
    -lTKOffset  \
    -lTKService \
    -lTKV3d     \
    -lTKOpenGl  \
    -lTKFillet

三、运行
终于成功了,泪奔!

虽然整个从下载OCC到配置的过程只有一两天,但是不停报错、崩溃真的好痛苦啊,再次感谢在网上发布教程的各位大佬,包括但不限于:
OPEN CASCADE
Windows系统下qt开发融合pylon,opencv,opencascade 等库的工程
Opencascade的安装
Windows系统下QT+OpenCasCAD仿真开发
Qt程序异常结束
Opencascad 7.0编译问题
eryar/occQt
最后即兴赋诗一首:
天若有情天亦老,人间正道是沧桑。
欢迎有相关配置问题的老哥评论,我们一同讨论。
————————————————
版权声明:本文为CSDN博主「南京Dr.Zhou」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33739361/article/details/104724675

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Ubuntu系统上,使用QtOpenCV可以实现人脸识别功能。需要先安装QtOpenCV的相关库文件,并在Qt中创建一个新的项目。在项目中导入OpenCV库,并在程序中编写人脸识别算法。可以使用OpenCV提供的CascadeClassifier类对人脸进行识别,并将识别结果显示在Qt界面上。 在识别人脸之前,需要训练一个识别器。可以使用OpenCV提供的train\_cascade工具进行训练,先准备一些包含人脸的正样本图片和一些不包含人脸的负样本图片,在训练过程中,识别器会不断调整参数,直到达到最佳识别效果。 在Qt界面上,可以使用QImage类加载图片,并使用QLabel类显示图片和人脸识别结果,也可以使用QPainter类对图片进行绘制,标出人脸的区域。为了提高识别准确率,可以对人脸图像进行预处理,如灰度化、直方图均衡化等操作。 总的来说,利用Ubuntu系统中的QtOpenCV库,实现人脸识别功能是一件相对容易实现的任务,唯一需要注意的是算法的准确性和效率,需要利用更高级的算法来提高识别的准确率和效率。 ### 回答2: 在Ubuntu操作系统下,结合QTOpenCV可以实现人脸识别功能。首先需要安装OpenCV和QT库,可以通过在终端输入命令sudo apt-get install opencv以及sudo apt-get install qt5-default来完成安装。 在QT Creator中新建一个项目,选择QT Widgets Application,然后在主窗口中添加一个按钮和一个标签,作为启动和显示人脸识别结果的界面。然后在该项目文件中添加OpenCV库文件,在项目中添加头文件#include<opencv2/opencv.hpp>。 接下来,需要编写人脸识别程序的代码,使用opencv中的cv::CascadeClassifier类进行人脸检测和识别。首先需要加载训练好的人脸分类器分类器的xml文件,可通过以下代码完成:cv::CascadeClassifier faceCascade;faceCascade.load("haarcascade_frontalface_alt.xml"); 在QT程序中添加启动人脸识别的槽函数,可以使用QT预设的信号和槽机制实现按钮单击后运行人脸识别程序。槽函数中调用OpenCV函数,用分类器进行人脸检测和识别,并把结果输出到QT程序中的标签对象上。 最后编译和运行程序,当单击按钮后,程序即可开始运行人脸识别功能,对抓取的图像进行实时分析和识别。注意,在命令行设置摄像头参数时要注意摄像头分辨率和帧率的设置,以保证识别效果和程序运行流畅。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值