Qt5.9.0+vs2017+opencv3.4.1+cmake3.9.1 记录

目录

1.先重新下载安装Qt,编译器选择为vs2017系列的

2.vs2017安装及环境变量配置

3.basler相机

4.Opencv版本下载

5.cmake下载安装

6.使用cmake,用vs2017编译opencv

7.安装过程的一些图:

8.安装过程出现的问题:

9.安装心得:



起源:之前的opencv和Qt都是基于mingw编译器下载编译的,但是现在因为要在Qt中用到pylon,但是pylon的编译不能用mingw编译器,所以想换成mscv系列的,这里我用的是vs2017版。

Qt5.9.0+vs2017+opencv3.4.1+cmake3.9.1

主要参考:https://www.cnblogs.com/lzhu/p/8198654.html

opencv window7+vs2017+cmake+opencv3.4.1编译、开发环境配置及测试:https://www.cnblogs.com/lzhu/p/8198654.html

1.先重新下载安装Qt,编译器选择为vs2017系列的

Qt 各版本下载地址https://blog.csdn.net/lsfreeing/article/details/73064954

Qt官网下载链接http://download.qt.io/archive/qt/ 

Qt学习:Qt开源社区http://www.qter.org/

这时,之前的opencv也不能用啦,因为之前的opencv也是选择的mingw编译器,那么就需要用vs2017来重新编译opencv,在cmake中实现

qmake问题:顺序:qmake->构建->运行

 

调试器安装:Qt编译器选择为vs系列时,很有可能会缺少调试器(Debugger),而使用MSVCQt对应的原生调试器是CDB(对应MinGWQt使用GDB调试器)【这个不是必选项,这是为了之后调试】

CDB下载及安装参考链接:

https://blog.csdn.net/yanhuangzhinu0/article/details/50957717

http://blog.163.com/qimo601@126/blog/static/1582209320162102559368/

此时,在Qt中工具->选项->Debugger中可以自动搜索到CDB。

安装kit过程中几个重要截图:

Qt5.9.0+vs2017+opencv3.4.1+cmake3.9.1 记录_第1张图片  Qt5.9.0+vs2017+opencv3.4.1+cmake3.9.1 记录_第2张图片  Qt5.9.0+vs2017+opencv3.4.1+cmake3.9.1 记录_第3张图片

 

2.vs2017安装及环境变量配置

https://jingyan.baidu.com/article/a948d6512f00d70a2dcd2edc.html   visual安装

https://jingyan.baidu.com/article/b2c186c83eb046c46ff6ff68.html   vs2017环境变量

 

3.basler相机

相机pylon安装

相机basler配置

 

4.Opencv版本下载

  https://opencv.org/opencv-3-4.html    opencv压缩包下载(更可取)

https://blog.csdn.net/quxiaoxia1986/article/details/52352785   opencv的exe文件下载

 

5.cmake下载安装

下载:https://cmake.org/download/ 选择64/32位电脑,以.msi结尾的即可。

 安装:依次下一步就可以,安装目录下的bin->cmake-gui.exe是cmake主要界面。

6.使用cmake,用vs2017编译opencv

参考链接:

https://www.cnblogs.com/lzhu/p/8198654.html 

https://blog.csdn.net/qiurisuixiang/article/details/8665278

在“所有程序”中,或者找到cmake安装地址,如E:\cmake\bin中,点击cmake-gui.exe即可打开cmake界面,

where is the source code中直接填写opencv的源码,使用压缩包的,就是压缩文件的地址

(参考https://blog.csdn.net/ganwenbo2011/article/details/79096984)

where to build the binaries中直接填写我们创建的用来存放opencv编译的生成文件

点击“configuing”,显示“configuing done”后,参考链接https://blog.csdn.net/qiurisuixiang/article/details/8665278,勾选了WITH_OPENGL和WITH_QT两项,再次点击configure,(时间也蛮久),成功后,再参考https://www.cnblogs.com/lzhu/p/8198654.html,点击“Generate”,这个较快,当显示“configuing done”和“Generate done”后,点击“open project”,这时会跳到下载好的vs2017,参考前面链接进行opencv的配置即可。点击图标行中“生成”->“批生成”,勾选INSTALL的那两项,其他项目不勾选,进行“生成”,这个过程比较久。之后,参考https://www.cnblogs.com/lzhu/p/8198654.html结合自己的opencv版本和图片路径,即可。

https://www.cnblogs.com/lifeofershisui/p/7445062.html 也可参考

https://blog.csdn.net/sinat_36264666/article/details/73135823?ref=myread 

7.安装过程的一些图:

1.configuring done图:

Qt5.9.0+vs2017+opencv3.4.1+cmake3.9.1 记录_第4张图片

2.configuring done、Generating done图:

Qt5.9.0+vs2017+opencv3.4.1+cmake3.9.1 记录_第5张图片

3.open project后出错

Qt5.9.0+vs2017+opencv3.4.1+cmake3.9.1 记录_第6张图片

推测原因:可能是我之前安装的python路径有中文,而在cmake页面有关python的项也显示乱码,如下图

Qt5.9.0+vs2017+opencv3.4.1+cmake3.9.1 记录_第7张图片

故:把关于python的都勾掉,重新open project,这样就好了,如下图

Qt5.9.0+vs2017+opencv3.4.1+cmake3.9.1 记录_第8张图片

4.根据openvc配置vs后,vs成功显示图像

Qt5.9.0+vs2017+opencv3.4.1+cmake3.9.1 记录_第9张图片

图片退出时显示图如下:

Qt5.9.0+vs2017+opencv3.4.1+cmake3.9.1 记录_第10张图片

5.Qt中显示图片

创建新项目:new project

Qt5.9.0+vs2017+opencv3.4.1+cmake3.9.1 记录_第11张图片

Qt5.9.0+vs2017+opencv3.4.1+cmake3.9.1 记录_第12张图片

Qt5.9.0+vs2017+opencv3.4.1+cmake3.9.1 记录_第13张图片

在.pro文件中添加opencv相关的头文件和库文件,如对应我的安装目录,添加如下文件

INCLUDEPATH += E:\opencv_3.2\opencv3.4.1_build\install\include E:\opencv_3.2\opencv3.4.1_build\install\include\opencv2
#不加d表示是release模式
LIBS += -LE:\opencv_3.2\opencv3.4.1_build\install\x64\vc15\lib -lopencv_core341 -lopencv_highgui341  -lopencv_imgcodecs341\   
        -lopencv_imgproc341

main.cpp如下

//正确,在qt上可显示图片 //用release模式

#include 
#include 
//#include 
//#include 


#include 

using namespace std;
//using namespace Pylon;
using namespace cv;

int main()
{
    Mat img = imread("E:\\opencv_3.2\\image\\1.jpg");
    imshow("image", img);
    waitKey(0);
    return 0;
}

构建->执行qmake    =》  构建项目  =》  运行

则可显示图片啦!

 

8.安装过程出现的问题:

1.非vs2017版本出现

‘cl' 不是内部或外部命令,也不是可运行的程序 或批处理文件

https://blog.csdn.net/u010900606/article/details/79215756   没有安装c++

https://blog.csdn.net/soft_fa/article/details/19488735   环境变量问题

https://blog.csdn.net/sinat_29288207/article/details/56014812?locationNum=2&fps=1  同上

https://www.cnblogs.com/zhanggaofeng/p/6671084.html  

https://blog.csdn.net/debugconsole/article/details/8230933 

2.cmake配置opencv时

1)因为之前cmake中配置了编译器,使得点击“config”时按之前默认编译器进行配置,导致配置失败

解决方法:在cmake.exe执行起来后,点击file->delete cache,这样就可以重新配置编译器啦

2)开始时用的是opencv3.2.0版本,config时出现opencv_ffmpeg.dll..下载不下来的问题,(有时是网速原因)在网上找了很多资料,可参考以下链接,最终以失败告终,最终选择的是换opencv版本,opencv3.4.1,config成功,显示“configuring done”

参考链接:

https://blog.csdn.net/qq_38880380/article/details/78013056 从地址中找

https://www.2cto.com/kf/201707/661163.html 

https://github.com/opencv/opencv 

https://blog.csdn.net/yiyuehuan/article/details/52951574 

https://blog.csdn.net/love1055259415/article/details/81095408

https://blog.csdn.net/nullnull2011/article/details/75000071 

其中

https://raw.githubusercontent.com/opencv/opencv_3rdparty/2a19d0006415955c79431116e4634f04d5eb5a74/ffmpeg/opencv_ffmpeg.dll 成功

https://raw.githubusercontent.com/opencv/opencv_3rdparty/2a19d0006415955c79431116e4634f04d5eb5a74/ffmpeg/opencv_ffmpeg_64.dll 成功

https://raw.githubusercontent.com/opencv/opencv_3rdparty/2a19d0006415955c79431116e4634f04d5eb5a74/ffmpeg/ffmpeg_version.cmake 未成功,不存在

 

9.安装心得:

1.版本明确

一:要搞清楚你的是什么版本的opencv,然后下载对应的opencv_ffmpeg_64.dll,ffmpeg_version.cmake,opencv_ffmpeg.dll

二:要明白上述三个文件和ffmpeg.cmake的关系,在ffmpeg.cmake中的,,是下载地址,可参考  进行下载,但是这里没有找到ffmpeg_version.cmake的相应链接(试了几个都不是)

2.点击“open project”,在vs2017中显示python问题,(失败:vs编译opencv时error MSB3073  targets(133,5))可能是因为我的python安装在了中文目录下,后来去掉python相关的,就可以成功了。

3.从opencv官网上下载opencv压缩包形式的文件时,(开始时显示下载速度特别慢,最后突然下载完成)压缩时提示“不可预料的压缩文件末端”,修复未果,最终选择从师父那儿拷贝压缩包过来,下载不成功应该是网络不好导致

4.vs2017上亲测opencv时,出现已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。错误 ,参考链接 https://www.cnblogs.com/ranson7zop/p/8039676.html (有图文)(调试-》选项  -》常规+符号),下载过程较慢,2018.7.27日可以正常显示图片了,但是因为加载过程时间太慢,加载一次之后,尝试把以上面链接勾选的项取消掉,亲测仍然可以显示图片,虽然会显示一些项无法加载。

5.Qt上测试opencv是否好用时,出现main.obj:-1: error: LNK2019: 无法解析的外部符号

"void __cdecl cv::imshow(class cv::String const &,class cv::debug_build_guard::_InputArray const &)" (?imshow@cv@@YAXAEBVString@1@AEBV_InputArray@debug_build_guard@1@@Z),该符号在函数 main 中被引用 的错误

可能原因:

(1)https://blog.csdn.net/lzm18064126848/article/details/50532204中说可能是函数有定义,没有实现的缘故,这个对于我的不管用。还可以参考https://blog.csdn.net/shenziheng1/article/details/54588457

(2)我的:(debug和release模式切换一下就可以了)

将debug模式改为release模式,这是由引进的库有关的,如

-lopencv_core341   默认的是release模式
-lopencv_core341d  是debug模式

(qt中读取图片的路径最好不要有中文,路径中斜杠方向为“/”和“\\”均可)

debug和release的区别:https://zhidao.baidu.com/question/1113218618582190379.html 

6.CMake编译时出现“error in configuration process project files may be invalid”

参考链接:

https://blog.csdn.net/ganwenbo2011/article/details/79096984   源文件路径决定

https://blog.csdn.net/c2a2o2/article/details/77921976 

https://blog.csdn.net/sduvec/article/details/50084963 

https://www.cnblogs.com/spoorer/p/6970401.html 是由于默认了之前的编译器

7.运行qt出现d:\Program Files (x86)\SogouInput\...错误。

未解决。。。

 

之前保存的关于opencv的相关有用链接:

win7下配置opencv的Qt开发环境hy:https://blog.csdn.net/qiurisuixiang/article/details/8665278 

opencv+vs开发环境配置hy:https://blog.csdn.net/poem_qianmo/article/details/19809337/

 

由于surf检测和sift检测等要用到xfeature2d等扩展模块,故在最开始的时候也要下载opencv_contrib-3.4.1.tar.gz,编译过程一样

下载:https://github.com/opencv/opencv_contrib/releases

【opencv_contrib-3.4.1压缩包:链接:https://pan.baidu.com/s/1cczu-TMxdl0OzqAfBDOp2Q   提取码:h20k 】

说明参考https://blog.csdn.net/lixuminglxm/article/details/81486528

你可能感兴趣的:(opencv,pylon)