OpenCV4 环境配置
0. 安装 mingw64
官网链接:mingw
1. 下载 OpenCV 源码
源码下载
运行下载好的 exe 文件,指定一下源码的存放路径
下载好的源码如下图所示
扩展文件下载
下载官网:Tags · opencv/opencv_contrib (github.com)
下载后解压放到 OpenCV 路径下
2. 安装 CMAKE
已经编译好的 OpenCV 源码:https://pan.baidu.com/s/1NF5PElfjJT49pnpqgQy3zg?pwd=ksz0
如果使用我编译好的,直接跳到 4.5,去配置环境变量,然后进入 clion 进行测试
使用的是 mingw-build 文件夹,可以删除除 VS-build 文件夹
VS-build 文件夹是使用 VS 进行 build 的,那个如果不使用可以删掉(VS-build),vsbuild 的文件有十几个 G
运行安装文件,中间需要勾选添加环境变量
更改安装路径
3.ckame 编译 OpenCV
- 在 OpenCV 源码路径下新建一个 mingw-build 文件夹
- 将 build/bin 目录下 opencv_videoio_ffmpeg470_64.dll 文件拷贝至 sources/3rdparty/ffmpeg 目录下
- 打卡 cmake,如下图所示,选择文件路径
- 点击 configure,在弹出的窗口中选择 Mingw Makefile,编译器默认的就行
- 当第一次编译完后,出现红色背景的内容,勾选下图所示内容,然后继续点击 configure
- 多次点击 configure,直到没有红色出现
中间可能在下载时会报错
FFMPEG: Download failed: 28;“Timeout was reached”
解决方式:
将下载链接复制下来,输入到浏览器中进行下载
打开 opencv 的 source 文件夹下的.cache 文件夹中
复制没下载成功的文件的名,将在网页下载成功的文件重命名为刚才复制对的名
将重命名后的文件放到.cache 文件夹下的各个文件夹中,将原始文件进行替换【确实文件放置位置的方法:下载链接中有对应的文件夹名】
重新点击 configure
- 点击 generator
4. 安装编译文件
- 进入 mingw-build 文件夹
- 在路径上输入 cmd,然后回车(建议直接以管理员身份运行,普通方式运行可能会出现一些报错)
- 输入
mingw32-make -j 16
报错解决:
- 如果出现
error: 'recursive_mutex' in namespace 'std' does not name a type
,则重新下载 posix 版的 mingw64 ,然后再在 cmake 中重新编译 OpenCV 源码- 如果出现
undefined reference to _Unwind_Resume'
之类的,以管理员身份运行 cmd,重新编译
- 出现之类
Anaconda3-/hdf5
的报错,不使用 Anaconda3 的 Python 环境更换其他 Python 环境或者直接不使用 Python 环境(直接在 path 环境变中先删除 Anaconda 的 Python 配置,更换为其他的 Python 或者不配置 Python),重新用 cmake 进行编译,然后再在 cmd 运行
- 输入
mingw32-make install
- 添加环境变量,将 mingw-build\bin 目录添加到系统环境变量
5.Clion 配置使用
- 新建一个项目
- 将下面的内容复制到
CMakeLists.txt
中
cmake
1 | set(OpenCV_DIR E:/kaifa/C/opencv/mingw-build/install) #这里刚才编译的OpenCV的路径 |
- 运行 main.cpp 文件
cpp
1 |
|
- 弹出图片则表示环境配置成功
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 知识小窝!