win11+cuda11.0.3+vs2017+opencv4.5.4+opencv_contrib-4.5.4详细教程

前期准备:

vs2017(企业版或专业版)、opencv4.5.4和opencv_contrib-4.5.4源码、cmake14.X、python3.8

一、安装cmake

官方地址https://cmake.org/download/
最新版本:

旧版本(我下载的):
https://github.com/Kitware/CMake/releases
在这里插入图片描述
进入github,点击tags,找到版本14.X进行下载

二、安装vs2017

这里直接在微软官网下载即可。链接: https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes
中三个版本都可以选,Community 2017是免费社区版本,Professional 2017和Enterprise 2017是付费版,功能好像没有区别,我这里选择的是Professional版本。
付费版可以使用密匙激活,这里提供两个密匙,如果不能用了就网上找,很多的:
Professional 2017:KBJFW-NXHK6-W4WJM-CRMQB-G3CDH
Enterprise 2017:NJVYC-BMHX2-G77MM-4XJMR-6Q8QF
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、opencv_contrib下载安装(要和opencv版本一致)

下载链接: https://github.com/opencv/opencv_contrib/releases.
在这里插入图片描述

四、提取opencv

https://github.com/opencv
在这里插入图片描述
进入opencv中进行对应版本下载

将下载好的opencv和opencv_contrib解压到D盘
在这里插入图片描述

五、 CMake 编译

windows安装opencv4.1.1过程中ffmpeg、ippicv、face_landmark_model下载出错解决办法:https://blog.csdn.net/fengxinzioo/article/details/104919888

1、打开CMake,下图第一个红框输入Opencv(我的是opencv4.0.1)的sources目录(注意:不是opencv_contrib的目录,原来自己opencv的目录);第一个红框输入你自定义的输出目录。最后点左下角的Configure
在这里插入图片描述
2、点击完 Configure后会出现下图提示,点击确认后就ok了
在这里插入图片描述
3、然后选择对应vs的版本,64位系统选择Win64,默认的是Win32。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5、要是如上述红色,需要再次单击 Configure直到不出现红色为止则完成。

6、完成上述后找到OPENCV_EXTRA_MODULES_RATH一项,添加你刚刚解压的opencv_contrib中的modules目录,其中要把OPENCV_ENABLE_NONFREE(下图红框上面一行)选上,最后点击Generate开始编译。

注意路径不要复制,需要通过cmake来选择路径!
在这里插入图片描述
7、完成后左下角显示Configuring done,Generating done。
在这里插入图片描述
注意:如果遇到找不到cuda时,更换cmake版本试一下

六、 VS2017 编译

完成之后如果在你的输出文件夹中找到OpenCV.sln文件,即表明编译成功完成。 .
在这里插入图片描述
1、使用VS2017打开刚刚的“OpenCV.sln”文件,会反应一段时间如下图所示:
在这里插入图片描述
在这里插入图片描述
3、完成后,如下图所示:
在这里插入图片描述
4、“解决方案资源管理器—>CMakeTargets—>INSTALL—>仅用于项目—>仅生成INSTALL(B)”然后又是等好一会儿
在这里插入图片描述
在这里插入图片描述
5、最后到自定义的文件夹确认一下,找到install文件夹,进去查看里面的内容(如下图,注:对于后边配置环境,install文件夹作用就像配置opencv4.0时的build文件夹一样):
在这里插入图片描述

七、 环境配置

1、 环境变量配置
右键电脑【属性】
【高级系统设置】
【环境变量】
【系统变量】【Path】
编译目录“ D:\opencv4.0.1\opencv\CMAKE_opencv4.0.1_vs2017_x64\install\x64\vc15\bin” 的完整路径 (如下图),根据你自己Cmake时的路径进行修改。
环境变量配置好后,一定要重启系统!!!!

在这里插入图片描述
2、配置相关目录
1、打开VS2017新建一个空项目
在这里插入图片描述

输入名字,选择生成文件夹,然后选择“空项目”,直接确定就可以了。
在这里插入图片描述
确定之后就直接进到这个界面,先将Debug的X86改成X64,Opencv4.0官方不提供X86的了,如果需要应该可以自己cmake一下(没试过,不负责任的乱说的)。
在这里插入图片描述
然后找到属性管理器 ,如下图所示:
在这里插入图片描述
创建属性表,如下图所示
在这里插入图片描述
将属性表进行命名,根据你容易记住的命名风格来。
在这里插入图片描述
打开刚才建好的属性表
在这里插入图片描述
2、include目录
双击属性表,在通用属性—>VC++目录—>包含目录中添加:
D:\opencv4.0.1\opencv\CMAKE_opencv4.0.1_vs2017_x64\install\include

D:\opencv4.0.1\opencv\CMAKE_opencv4.0.1_vs2017_x64\install\include\opencv2

根据你的路径进行修改

没有了以前的“…opencv4.0\build\include\opencv”这一条。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3、然后是添加lib目录,在通用属性—>VC++目录—>库目录中添加:
在这里插入图片描述
在这里插入图片描述
4、在通用属性—>链接器—>输入—>附加的依赖项中添加:
opencv_aruco401d.lib
opencv_bgsegm401d.lib
opencv_bioinspired401d.lib
opencv_calib3d401d.lib
opencv_ccalib401d.lib
opencv_core401d.lib
opencv_datasets401d.lib
opencv_dnn401d.lib
opencv_dnn_objdetect401d.lib
opencv_dpm401d.lib
opencv_face401d.lib
opencv_features2d401d.lib
opencv_flann401d.lib
opencv_fuzzy401d.lib
opencv_gapi401d.lib
opencv_hdf401d.lib
opencv_hfs401d.lib
opencv_highgui401d.lib
opencv_imgcodecs401d.lib
opencv_imgproc401d.lib
opencv_img_hash401d.lib
opencv_line_descriptor401d.lib
opencv_ml401d.lib
opencv_objdetect401d.lib
opencv_optflow401d.lib
opencv_phase_unwrapping401d.lib
opencv_photo401d.lib
opencv_plot401d.lib
opencv_reg401d.lib
opencv_rgbd401d.lib
opencv_saliency401d.lib
opencv_shape401d.lib
opencv_stereo401d.lib
opencv_stitching401d.lib
opencv_structured_light401d.lib
opencv_superres401d.lib
opencv_surface_matching401d.lib
opencv_text401d.lib
opencv_tracking401d.lib
opencv_video401d.lib
opencv_videoio401d.lib
opencv_videostab401d.lib
opencv_xfeatures2d401d.lib
opencv_ximgproc401d.lib
opencv_xobjdetect401d.lib
opencv_xphoto401d.lib
opencv_aruco401d.lib
opencv_bgsegm401d.lib
opencv_bioinspired401d.lib
opencv_calib3d401d.lib
opencv_ccalib401d.lib
opencv_core401d.lib
opencv_datasets401d.lib
opencv_dnn401d.lib
opencv_dnn_objdetect401d.lib
opencv_dpm401d.lib
opencv_face401d.lib
opencv_features2d401d.lib
opencv_flann401d.lib
opencv_fuzzy401d.lib
opencv_gapi401d.lib
opencv_hdf401d.lib
opencv_hfs401d.lib
opencv_highgui401d.lib
opencv_imgcodecs401d.lib
opencv_imgproc401d.lib
opencv_img_hash401d.lib
opencv_line_descriptor401d.lib
opencv_ml401d.lib
opencv_objdetect401d.lib
opencv_optflow401d.lib
opencv_phase_unwrapping401d.lib
opencv_photo401d.lib
opencv_plot401d.lib
opencv_reg401d.lib
opencv_rgbd401d.lib
opencv_saliency401d.lib
opencv_shape401d.lib
opencv_stereo401d.lib
opencv_stitching401d.lib
opencv_structured_light401d.lib
opencv_superres401d.lib
opencv_surface_matching401d.lib
opencv_text401d.lib
opencv_tracking401d.lib
opencv_video401d.lib
opencv_videoio401d.lib
opencv_videostab401d.lib
opencv_xfeatures2d401d.lib
opencv_ximgproc401d.lib
opencv_xobjdetect401d.lib
opencv_xphoto401d.lib

其他版本按照自己的版本号更改数字“401d”为自己对应的版本即可(401d意为4.0.1版本的debug模式)。
在这里插入图片描述
在这里插入图片描述
如果你的版本号和我不一样,可以参考这篇博客最后面使用cmd命令得到文件夹中所有文件名的方法:
链接: https://blog.csdn.net/weixin_41991128/article/details/83864713.

5、获取自己的链接库列表:

`

``cpp
win+r调出“运行”窗口并输出cmd
输入:cd /d D:\opencv4.0.1\opencv\CMAKE_opencv4.0.1_vs2017_x64\install\x64\vc15\lib 回车 (填自己的路径)
输入:dir /b *.lib *>0.txt 回车 
```.

这时打开你对应路径的目录,多了一个0.txt文件,里面存了你这个文件夹里所有链接库名字。

注意:记得把0.txt删掉否则对后面有影响,而且0.txt文件里多了0.txt、OpenCVConfig.cmake、OpenCVConfig-version.cmake、OpenCVModules.cmake、OpenCVModules-debug.cmake,复制的时候记得删掉这些多余的内容。
在这里插入图片描述
在这里插入图片描述

八、程序验证

验证代码如下:

#include <opencv2/opencv.hpp>
#include

using namespace cv;
using namespace std;

int main(int argc, char** argv) {
Mat box = imread(“1.jpg”);
Mat box_in_sence = imread(“2.jpg”);

// 创建AKAZE
auto akaze_detector = AKAZE::create();
vector<KeyPoint> kpts_01, kpts_02;
Mat descriptors1, descriptors2;
akaze_detector->detectAndCompute(box, Mat(), kpts_01, descriptors1);
akaze_detector->detectAndCompute(box_in_sence, Mat(), kpts_02, descriptors2);

// 定义描述子匹配 - 暴力匹配
Ptr<DescriptorMatcher> matcher = DescriptorMatcher::create(DescriptorMatcher::BRUTEFORCE);
std::vector< DMatch > matches;
matcher->match(descriptors1, descriptors2, matches);

// 绘制匹配
Mat img_matches;
drawMatches(box, kpts_01, box_in_sence, kpts_02, matches, img_matches);
imshow("AKAZE-Matches", img_matches);
imwrite("D:/result.png", img_matches);

waitKey(0);
return 0;

}

在这里插入图片描述

Win10 + Microsoft Visual Studio Community 2017 + CUDA11.3 + CUDNN8.2 + RTX GeForce 3090 + OpenCV4.5.3

参考:
https://blog.csdn.net/qq_39567427/article/details/126230952

参考:

https://blog.csdn.net/weixin_41991128/article/details/83656543

https://blog.csdn.net/qq_38629044/article/details/85936014

https://blog.csdn.net/weixin_41991128/article/details/84593477

https://blog.csdn.net/fengxinzioo/article/details/88767399
————————————————

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. spyder 5.4.1 requires pyqt5<5.16, which is not installed. spyder 5.4.1 requires pyqtwebengine<5.16, which is not installed. Successfully installed aiofiles-23.1.0 altair-4.2.2 blinker-1.6.2 cachetools-5.3.1 chardet-5.1.0 cmake-3.26.3 cpm_kernels-1.0.11 fastapi-0.95.2 ffmpy-0.3.0 gitdb-4.0.10 gitpython-3.1.31 gradio-3.32.0 gradio-client-0.2.5 h11-0.14.0 httpcore-0.17.2 httpx-0.24.1 latex2mathml-3.76.0 linkify-it-py-2.0.2 lit-16.0.5 markdown-it-py-2.2.0 mdit-py-plugins-0.3.3 mdtex2html-1.2.0 mdurl-0.1.2 nvidia-cublas-cu11-11.10.3.66 nvidia-cuda-cupti-cu11-11.7.101 nvidia-cuda-nvrtc-cu11-11.7.99 nvidia-cuda-runtime-cu11-11.7.99 nvidia-cudnn-cu11-8.5.0.96 nvidia-cufft-cu11-10.9.0.58 nvidia-curand-cu11-10.2.10.91 nvidia-cusolver-cu11-11.4.0.1 nvidia-cusparse-cu11-11.7.4.91 nvidia-nccl-cu11-2.14.3 nvidia-nvtx-cu11-11.7.91 orjson-3.8.14 protobuf-3.20.3 pydantic-1.10.8 pydeck-0.8.1b0 pydub-0.25.1 pygments-2.15.1 pympler-1.0.1 python-multipart-0.0.6 rich-13.4.1 semantic-version-2.10.0 sentencepiece-0.1.99 smmap-5.0.0 starlette-0.27.0 streamlit-1.22.0 streamlit-chat-0.0.2.2 torch-2.0.1 transformers-4.27.1 triton-2.0.0 tzlocal-5.0.1 uc-micro-py-1.0.2 uvicorn-0.22.0 validators-0.20.0 websockets-11.0.3 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv 解释下
06-02

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值