当前位置: 代码迷 >> 综合 >> Win10下安装Opencv3.4.0+Codeblocks
  详细解决方案

Win10下安装Opencv3.4.0+Codeblocks

热度:78   发布时间:2023-12-11 19:33:18.0

搞定opencv+contrib+codeblocks

  • 一、安装资源准备
  • 二、环境配置
    • (一)Mingw64安装
    • (二)opencv-3.4.0安装教程
    • (三)CMake安装配置
    • (四)编译文件安装
  • 三、编译器配置
    • 配置codeblocks
    • 创建项目
  • 四、参考博文

一、安装资源准备

  1. CMake-3.10.3-win64-x64
  2. Mingw_x86_64_7.3.0
  3. opencv-3.4.0
  4. Codeblocks-17.12
  5. opencv_contrib-3.4.0
  6. 第一次配置下载资源.dll
  7. 第二次配置 下载资源.i/dat
    以上资源百度云盘链接:放血大派送资源包 提取码:itug

二、环境配置

(一)Mingw64安装

资源包中mingw_x86_64-7.3.0.7z是离线包1 ,已经安装完成,解压并放置在明确的英文路径下(例:D:\Aopencv\mingw64)

配置系统环境变量: 虽然默认各位会配置环境变量,但是还要提一下

右键点击“此电脑“–> 单击【属性】–> 【高级系统设置】–> 【环境变量】–> 双击系统变量里的【Path】–> 【新建】–> 添加mingw64的bin路径(例:D:\Aopencv\mingw64\bin)
在这里插入图片描述

(二)opencv-3.4.0安装教程

下载资源包中的opencv-3.4.0-vc14_vc15.exe,安装到设定的文件夹中(例:D:\Aopencv\opencv)。
配置环境变量:
上面那个图中的 D:\Aopencv\opencv\build\x64\v14\bin 添加到路径即可。

(三)CMake安装配置

!!!CMake的配置是个重点!!!
初次配置这里会出现很多 Error,根本原因就是翻不了墙,我也是╮(╯▽╰)╭

下载资源包中的cmake-3.10.3-win64-x64.msi,安装到英文路径下2
1.打开安装完成的CMake(Cmake gui);
2.如图填写,其中D:/Aopencv/opencv/binaries 为新建文件夹,可以自行起名;
在这里插入图片描述
3.如图操作,点击【Next】;
在这里插入图片描述
4.
图中 C 选择 D:\Aopencv\mingw64\bin\x86_64-w64-mingw32-gcc.exe
图中C++选择 D:\Aopencv\mingw64\bin\x86_64-w64-mingw32-g++.exe
点击【Next】;
在这里插入图片描述
5.点击【Configure】,进行快乐的第一次配置。
If You Have a VPN,You Will Be Happy。

6.很明显你不快乐!
第一次配置开始
由于高墙的原因这两个动态链接库文件 opencv_ffmpeg.dllopencv_ffmpeg_64.dll
会下载超时,资源包中已经为你精心准备好了。
所以只需要将资源包中 第一次配置下载资源 中的两个动态链接库放置在 D:\Aopencv\opencv\binaries\3rdparty\ffmpeg目录下,再单击 【Configure】 配置一下,直至红色消失,提示你 Configure done,才算完成第一次配置。

7.丧心病狂的第二次配置,由于opencv的不断发(冗)展(杂),出现了opencv_contrib(相当于第三方库,例如SIFT的库就在这里面),所以需要第二次配置。

首先下载资源包的 opencv_contrib-3.4.0,
解压到相应目录(例D:\Aopencv\opencv_contrib)。

(1)Cmake中,取消ENABLE_PRECOMPILED_HEADERS的勾选3
勾选ENABLE_CXX11、OPENCV_ENABLE_NONFREE
如图:

在这里插入图片描述
(2)OPENCV_EXTRA_MODULES_PATH的路径设置为opencv_contrib-3.4.04的解压目录下的modules,如图:
在这里插入图片描述
8.单击【Configure】进行第二次配置。
依旧因为访问不了外网,这里会有很多文件下载超时,解决方法如下5
(1) tiny-dnn-1.0.0a3的压缩包下载失败。
下载资源包中第二次配置下载资源 中的tiny-dnn-1.0.0a3压缩包,将其解压到D:\Aopencv\opencv\binaries\3rdparty\tinydnn下,结果如图所示:
在这里插入图片描述
(2)xfeatures2d下n个文件下载失败。
下载资源包中 第二次配置下载资源 中xfeatures2d下的n个文件,放置在
D:\Aopencv\opencv\binaries\downloads\xfeatures2d文件夹下,结果如图:
在这里插入图片描述
(3)face_landmark_model.dat下载失败6
这个可能会xue微的麻烦一点。
<1> 先下载资源包中第二次配置下载资源中face_landmark_model.dat;

<2> 放置在D:\Aopencv\opencv\binaries\testdata\cv\face文件夹下面,没有相应文件夹就自己新建。

<3>打开D:\Aopencv\opencv_contrib\modules\face文件夹下的CMakeLists.txt
将第19行的

"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${__commit_hash}/"

改为:

D:/Aopencv/opencv/binaries/testdata/cv/face"
#"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${__commit_hash}/"

其实就是指定face_landmark_model.dat所在的位置,这个文件夹在D:\Aopencv\opencv\binaries\CMakeDownloadLog.txt中有记录,我的是D:\Aopencv\opencv\binaries\testdata\cv\face,有兴趣的可以自己查看

以上步骤确保Cmake第二次配置的资源已经准备好
再次点击【Configure】完成第二次配置,系统提示Configure Done
点击【Generate】生成编译文件,系统提示 Generate Done

(四)编译文件安装

window+R输入cmd进入命令行。
进入binaries文件夹下,输入mingw32-make install,在网好的地方等待安装完成。
在这里插入图片描述

三、编译器配置

配置codeblocks

1.安装并打开codeblocks
2.
选择【Settings】 -> 【Debugger】
单击【Create Config】
取一个名字,我们这里取名gdb64
在这里插入图片描述
3.单击GDB/CDB debugger下面我们创建的gdb64,添加mingw64下gdb.exe的路径:D:\Aopencv\mingw64\bin\gdb.exe,然后点击【ok】
在这里插入图片描述
4.
选择【Settings】 -> 【Compiler】
单击【Copy】,我们命名 GNU GCC Compiler(x64)
然后选择【Toolchain executables】,按图填写【Program Files】中的各项:
在这里插入图片描述
5.选择【Linker settings】,Link libraries中【Add】添加D:\Aopencv\opencv\binaries\install\x64\mingw\bin下的所有链接库文件(shift连选一次搞定)。
在这里插入图片描述
6.选择【Search directories】,添加三个目录
D:\Aopencv\opencv\binaries\install\x64\mingw\include
D:\Aopencv\opencv\binaries\install\x64\mingw\include\opencv
D:\Aopencv\opencv\binaries\install\x64\mingw\include\opencv2
我把D:\Aopencv\opencv\binaries\install下的include文件夹复制到了D:\Aopencv\opencv\binaries\install\x64\mingw下面,和lib、bin在一起,后面创建opencv项目时会方便一点。
在这里插入图片描述

创建项目

1.【Create a new project】
创建选择opencv项目
在这里插入图片描述
2.起一个文件名,选择文件生成位置,单击【Next】
然后填写include、lib、bin三个文件夹所在的父目录D:\Aopencv\opencv\binaries\install\x64\mingw,我们刚刚提到的方便就在这,然后点击【Next】
在这里插入图片描述
3.这里填写版本号,以及三个文件夹所在的位置。可以更改完版本号直接【Next】,这里我老实巴交的填写了他们的路径。。。
在这里插入图片描述
4.一切工作工作完成
运行项目里Source文件夹下的main.cpp,看一下施瓦辛格吧!

PS: 实测没问题。对于SIFT算法的程序中有如下改动:

//xfeatures2d::SiftFeatureDetector featureDetector;
Ptr<xfeatures2d::SiftFeatureDetector> featureDetector = xfeatures2d::SiftFeatureDetector::create();
//featureDetector.detect(trainImage_gray, train_keyPoint);
featureDetector->detect(trainImage_gray, train_keyPoint);
————————————————
版权声明:本文为CSDN博主「Bryan_QAQ」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Bryan_QAQ/article/details/102952256

就是将SiftFeatureDetector的声明和对函数的调用改为指针形式。

四、参考博文


  1. codeblocks17.12 + opencv3.4.0 开发环境搭建 ??

  2. CodeBlocks+OpenCV3.2环境搭建 ??

  3. Windows平台下CMake+CodeBlocks+OpenCV(opencv_contrib)环境配置 ??

  4. OpenCV学习笔记(六)——配置扩展模块 ??

  5. opencv-contrib在cmake中出现下载错误的解决 ??

  6. cmake3.14.0+opencv_contrib4.0.1+VS2017配置过程及可能出现的错误和问题 ??

  相关解决方案