Windows环境使用CMake编译 opencv3.3.0 && opencv_contrib3.3.0
来源:互联网 发布:海龙设计软件 编辑:程序博客网 时间:2024/06/05 14:48
opencv 从3.0.0开始不在提供合并的库,而是将原先合并的库分开为两个库,分别是:
核心功能库
和拓展功能库
。而核心库依然提供Android开发所需要的静态库支持,但是如果需要用到最近大红大紫的人工智能相关功能,必然用到扩展功能库提供的诸如人脸识别等功能,所以需要我们手动CMake生成Android所需要的静态库
,这里主要讲如何生成操作,生成我们需要的静态库。这里顺便吐槽一下,使用caffe框架搭建深度学习训练人脸识别模型,要比opencv给出的人脸识别快很多,opencv-人脸识别还有很大的进步空间。不过遗憾的是caffe目前还没有提供移动端的运行环境,即时PC训练好了模型也没有用武之地,颇感遗憾。
准备材料
- opencv3.3.0 && opencv_contrib3.3.0
下载opencv Tag 3.3.0
下载opencv_contrib Tag 3.3.0
使用git clone或者直接下载压缩包,这两种姿势都可以。
git clone https://github.com/opencv/opencv.gitgit clone https://github.com/opencv/opencv_contrib.git
- Cmake
下载Cmake工具,安装即可。
- MinGW
下载MinGW,安装以后会有相应的
g++
配置,这一步需要自行勾选,然后下载对应的g++
编译包即可,配置完成MinGW大概在500MB
左右。
需要配置path环境变量,在命令行中输入gcc -v
检验配置是否正确
- Ant
下载Ant,无需安装,解压后,配置path环境变量即可,可以在命令行中输入
ant -v
检验配置是否正确。
配置编译环境
打开
CMake GUI
如下图配置
上面一行地址是source所在目录
下面一行地址是编译文件将要放置的目录接下来需要配CMake的配置参数如下:
Name: ANDROID_ABIType: STRINGValue: armeabi-v7a
如图所示:
如上,继续添加:
Name: ANDROID_NDKType: PathValue: H:/android-ndk-r14b
Name: ANDROID_OPENCL_SDKType: PathValue: E:/android-sdk-windows
点击Configure,进入设置编译器阶段,如图
确定以后,配置cmake的起始路径J:/opencv-source/opencv-3.3.0/platforms/android/android.toolchain.cmake
配置好以后,如图所示:
配置运行一段时间以后,然后搜索
OPENCV_EXTRA_MODULES_PATH
,配置一下opencv_contrib/modules
的路径所在地。
配置完以后如下:
再点击Generate,如图所示。
开始编译
进入到上面配置的编译文件将要放置的目录,进入命令行,输入:
mingw32-make
如果一切顺利话,大概30分钟以后,会Build成功,接下来再输入:
mingw32-make install
一般会顺利的输出生成的测试apk。
特殊情况
上面顺利的话就不用往下看了,如果遇到报错,一般是在编译的时候出现找不到文件之类的奇怪问题。
而提示找不到的文件其实在我们本地的目录.cache\xfeatures2d\boostdesc
中,如下所示:
把上面的文件前缀统统去掉,copy到opencv_contrib-3.3.0\modules\xfeatures2d\src
即可
参考:Error with “boostdesc_bgm.i” while compiling on Ubuntu 16.04
然后,如果提示还缺少文件,那么同样的思路,到.cache\xfeatures2d\vgg
目录,把剩下的所有.i
后缀文件统一copy到上面的目录即可,如图所示:
如果没有这些文件,可以到这里下载。
最后,我们找一下生成的静态链接库,在J:\opencv-source\build\armeabi\lib\armeabi
目录下。
如果实在搞不定,最后的静态库可以到这里下载。
- Windows环境使用CMake编译 opencv3.3.0 && opencv_contrib3.3.0
- Windows环境下使用CMake编译OpenCV3.0和OpenCV_contrib
- opencv3.3.0+vs2015+cmake编译opencv x86
- opencv3.3.0+vs2010+cmake环境搭建
- Win10下搭建Clion+OpenCV3.2+OpenCV_Contrib3.2的环境
- cmake+vs2017+opencv3.3.0编译contrib模块详解
- cmake编译opencv3.0
- windows下cmake编译opencv3.2+opencv_contrib完整过程
- Windows下利用Cmake编译OpenCV3.2.0 遇到ipipcv问题解决
- 在ubuntu下使用cmake进行opencv的配置和Windows下进行使用cmake编译源代码比较,opencv3进行g++例子程序编译、动态库的制作
- 使用cmake编译opencv3.1.0时hash mismatch的解决方法
- OpenCV3.2使用Cmake进行编译时注意事项
- 使用Qt带的MinGW+cmake编译opencv3.2
- opencv3.3.1、opencv_contrib-3.3.1使用 CMake 编译步骤
- VS2017+opencv3.0.0+opencv_contrib3.0.0
- CMake编译VS2015+OpenCV3.1
- CMake+VS2013编译OpenCV3.1
- Cmake编译OpenCV3.1源码
- 【解析】全球物联网平台的发展现状
- 有了Xshell,连接远程主机不是难事!
- wordCount相关RDD的深度解析
- Git LFS 入门指南
- [初学笔记] cell 转换为 matrix,double 和 string,num,char的方式
- Windows环境使用CMake编译 opencv3.3.0 && opencv_contrib3.3.0
- 历程剖析:阿里云自研HTAP数据库的技术发展之路
- 深度 | NB-IoT很猛,但别忘了LoRa:物联网标准后浪推前浪 谁更“浪”
- Spring集成Hibernate5_04-Service层
- JS跳转页面的方式,以及使用JS锚点定位
- jQuery实现等比例缩放大图片让大图片自适应页面布局
- Java图片缩略图裁剪水印缩放旋转压缩转格式-Thumbnailator图像处理
- 后台管理权限设计
- 4GQoS测速应用总结(一)