win7x64+vs2017+opencv3.4.1+opencv_contrib3.4.1安装配置过程

4 篇文章 0 订阅
4 篇文章 0 订阅

可以自己进opencv官网下载opencv3.4.1,github上下载opencv3.4.1_contrib。然后自己make编译
cmke安装教程 https://blog.csdn.net/u011231598/article/details/80338941
opencv各版本 https://github.com/opencv/opencv/releases
opencv_contrib各版本 https://github.com/opencv/opencv_contrib/releases
配置:cmakecmake-3.11.2-win64-x64+win7(64位)+vs2017+opencv3.4.1+opencv_contrib3.4.1

我要生成的是Debug x64的
安装教程参考
https://blog.csdn.net/huitailangyz/article/details/81662947
https://blog.csdn.net/qq_34360180/article/details/66978979
https://blog.csdn.net/LOVELESSYI/article/details/79946859
https://blog.csdn.net/u010248552/article/details/80416751

这里注意一下cmake的版本。之前我下的最新cmake-3.14.3-win64-x64,然后点击configure弹出选择VS的界面,只能选Visual Studio 15 2017,生成OpenCV.sln用vs2017打开后默认是Debug win32,要么出问题,要么最后生成的install文件夹里是x86的而不是x64。好像低版本的也不一定能用,3.11.2实测可用,就是configure有点慢。(下面cmake的照片就没换了,基本没啥差别)

安装路径会有所不同,我选择装在H盘

文件路径

H盘新建文件夹opencv3.4.1,文件下里面再新建文件夹build
将opencv3.4.1和opencv_contrib3.4.1解压到:H:\opencv3.4.1下删除安装包
此时H:\opencv3.4.1文件下有三个文件夹build(空)、opencv3.4.1、opencv_contrib3.4.1
在这里插入图片描述

cmake-gui 中操作(安装步骤)

  1. 打开cmake-gui.exe在这里插入图片描述

  2. 在:Where is the source code中选择:H:/opencv3.4.1/opencv-3.4.1目录

  3. 在:Where to build the binaries中选择:H:/opencv3.4.1/build>目录
    在这里插入图片描述

  4. 点击:configure弹出选择VS的界面,我选的是:Visual Studio 15 2017 win64,点击:Finish

  5. 咦,出现了智障错误,查看窗口底部的红色错误信息,说是没发现CMakeLists.txt文件
    CMake Error: The source directory “H:/opencv3.4.1/opencv-3.4.1” does not appear to contain CMakeLists.txt.
    Specify --help for usage, or press the help button on the CMake GUI.
    解决:H:/opencv3.4.1/opencv-3.4.1目录会发现里面还有一个opencv-3.4.1目录(H:/opencv3.4.1/opencv-3.4.1/opencv3.4.1)。将里面的文件拷到H:/opencv3.4.1/opencv-3.4.1下然后删除H:/opencv3.4.1/opencv-3.4.1/opencv3.4.1即可,可以看到H:/opencv3.4.1/opencv-3.4.1/opencv3.4.1目录下有CMakeLists.txt文件
    在这里插入图片描述

  6. 再次点击configure可以看到如下在这里插入图片描述

  7. 等待完成,出现一片红色的区域。在变量区中找到:OPENCV_EXTRA_MODULES_PATH,将其选择为:H:\opencv3.4.1\opencv_contrib-3.4.1\modules目录,并勾选:BUILD_opencv_world,再点击:configure
    直到变量区没有红色变量,否则反复点击:configure。最后点击:generate在这里插入图片描述

  8. 然后再点击:Open Project这会自动打开vs2017 ,也可以到Build里找到:OpenCV.sln打开。
    打开vs2017后一般可以直接看到【解决方案资源管理器】一栏,没有就点击【视图v】-【解决方案资源管理器p】,可以看到OpenCV的解决方案

vs中操作

因为我选择cmake编译时选择的Visual Studio 15 2017 win64,所以打开OpenCV时默认的是:Debug x64

  1. 右键重新生成解决方案(好久,超怕电脑死机),出现大量warming, :C4819 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失。暂时不想管它
    可能错误:重新生成解决方案时出现大量错误
    参考: https://blog.csdn.net/LOVELESSYI/article/details/79946859
  2. 如果不是Debug x64的可能要配置管理器
    在这里插入图片描述
  3. 解决方案里点开:CmakeTargets–>INSTALL,右键:仅用于项目->仅生成INSTALL
    在这里插入图片描述
  4. 生成完debug的库后,改为release,x64,再来一遍上面install操作。(改成release,x64时,install出现错误,不管了,我只要Debug x64)(可能是因为没用管理员方式打开的)
  5. build大概有6.09G,生成后把opencv和contrib综合了起来。所以配置的时候只需要用build/install了。

配置过程

系统环境变量

右键:计算机->属性->高级系统设置->环境变量->Path->编辑,加上::H:\opencv3.4.1\build\install\x64\vc15\bin。注意H:前面还有一个冒号。貌似电脑要重启才能生效
在这里插入图片描述

vs中配置

配置库目录和包含目录

  1. 新建空C++项目在这里插入图片描述
  2. 项目中添加C++文件,左上角菜单选项:视图->其他窗口->属性管理器
    在这里插入图片描述
  3. 属性管理器中,右键:Debug|x64属性,找到:通用属性->VC++目录->包含目录
    添加
    :H:\opencv3.4.1\build\install\include
    :H:\opencv3.4.1\build\install\include \opencv
    :H:\opencv3.4.1\build\install\include \opencv2
    【确定】-【应用】
  4. 【库目录】
    库目录添加:H:\opencv3.4.1\build\install\x64\vc15\lib
    【确定】-【应用】
    在这里插入图片描述
  5. :通用属性->链接器->输入->附加依赖项
    貌似要添加所有H:\opencv3.4.1\build\install\x64\vc15\lib 的所有带d的lib,这里只有两个
    :opencv_world341d.lib
    :opencv_img_hash341d.lib其中341表示版本号3.4.1,d表示debug版
  6. :Debug|x64->Microsoft.Cpp.x64.user,右键保存
  7. 把:opencv\build\install\x64\vc15\bin下的文件(:opencv_world341d.dll和:opencv_img_hash341d.dll),全部复制到:C:\Windows\SysWOW64和:C:\Windows\System32
  8. 在VS2017工具栏找到:调试->选项,找到:调试->常规,勾选:启用源服务器支持,:调试->符号,勾选:Microsoft符号服务器,确定。

测试

注意,图片要和.cpp文件放在同一目录下

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;

int main()
{
    Mat image = imread("死亡之翼.jpg");  //存放自己图像的路径 
	namedWindow("showtime", 0);
	imshow("showtime", image);
	waitKey(0);
	return 0;
}

可能错误,LNK1112: 模块计算机类型“X64”与目标计算机类型“x86”冲突
如果出现计算机类型不匹配的话,可能要右击项目:属性->链接器->高级->目标计算机,改为:MachineX64 (/MACHINE:X64),这时查看下vc++目录的包含目录、库目录等是否要重新添加

可能错误:无法查找或打开PDB文件
参考:https://www.cnblogs.com/wxl845235800/p/7206767.html

结果展示

在这里插入图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值