opencv3.2.0+contrib+cmake3.9.0的编译
2017-07-23 14:43
549 查看
opencv3.2.0+contrib+cmake3.9.0的编译
在编译过程中遇到很多问题,记录下来以防不测Thanks to:http://blog.csdn.net/u012462822/article/details/49100025;
http://blog.csdn.net/yiyuehuan/article/details/52951574;
1.首先上github下载相对应得源码:
opencv-3.2.0:https://github.com/opencv/opencv/tree/3.2.0
opencv-3.2.0-contrib:https://github.com/opencv/opencv_contrib/tree/3.2.0
把下载的源码解压到同一个文件夹下,同时建立一个build文件夹
2.cmake
打开cmake-gui选择源码文件夹和工程目录文件夹如下:
Configure:
选择vs版本和编译方式,点击finish
tips:
这里会遇到ffmpeg和ippcv失败的问题,手动下载好ffmpeg和ippcv配置即可
下载地址:https://github.com/opencv/opencv_3rdparty/branches/all
ffmepg:把解压缩得到的opencv_ffmpeg.dll 、opencv_ffmepg_64.dll 、ffmpeg_version.cmake放到D:\opencv320\opencv-3.2.0\3rdparty\ffmpeg(对应文件夹)中
修改ffmpeg.cmake为:
message(STATUS "FFMPEG: Package successfully downloaded") include(${CMAKE_CURRENT_LIST_DIR}/ffmpeg_version.cmake)
ippcv:在D:\opencv320\opencv-3.2.0\3rdparty\ippicv中建立unpack文件夹,把解压缩得到的ippcv文件夹放入unpack中
修改downloader.cmake为:
# # The script downloads ICV package # # On return this will define: # OPENCV_ICV_PATH - path to unpacked downloaded package # function(_icv_downloader) # Commit SHA in the opencv_3rdparty repo set(IPPICV_BINARIES_COMMIT "81a676001ca8075ada498583e4166079e5744668") # Define actual ICV versions if(APPLE) set(OPENCV_ICV_PACKAGE_NAME "ippicv_macosx_20151201.tgz") set(OPENCV_ICV_PACKAGE_HASH "4ff1fde9a7cfdfe7250bfcd8334e0f2f") set(OPENCV_ICV_PLATFORM "macosx") set(OPENCV_ICV_PACKAGE_SUBDIR "/ippicv_osx") elseif(UNIX) if(ANDROID AND NOT (ANDROID_ABI STREQUAL x86 OR ANDROID_ABI STREQUAL x86_64)) return() endif() set(OPENCV_ICV_PACKAGE_NAME "ippicv_linux_20151201.tgz") set(OPENCV_ICV_PACKAGE_HASH "808b791a6eac9ed78d32a7666804320e") set(OPENCV_ICV_PLATFORM "linux") set(OPENCV_ICV_PACKAGE_SUBDIR "/ippicv_lnx") elseif(WIN32 AND NOT ARM) set(OPENCV_ICV_PACKAGE_NAME "ippicv_windows_20151201.zip") set(OPENCV_ICV_PACKAGE_HASH "04e81ce5d0e329c3fbc606ae32cad44d") set(OPENCV_ICV_PLATFORM "windows") set(OPENCV_ICV_PACKAGE_SUBDIR "/ippicv_win") else() return() # Not supported endif() set(OPENCV_ICV_UNPACK_PATH "${CMAKE_CURRENT_LIST_DIR}/unpack") set(OPENCV_ICV_PATH "${OPENCV_ICV_UNPACK_PATH}${OPENCV_ICV_PACKAGE_SUBDIR}") message(STATUS "ICV: Package successfully downloaded") set(OPENCV_ICV_PATH "${OPENCV_ICV_PATH}" PARENT_SCOPE) endfunction() _icv_downloader()
添加contrib模块:找到OPENCV_EXTRA_MOUDULE_PATH,选择contrib文件夹下的modules文件夹
generating done;
tips:
不添加contrib模块可选择BUILD_opencv_world,生成时只生成一个opencv_world_320的dll和lib文件,方便添加库文件;
添加contrib模块编译不能选择BUILD_opencv_world,否则会出错;
3.编译opencv
点击cmake的Open Project打开工程
首先在dubug模式下生成整个工程,然后单独生成CMakeTargets下的install,然后在release模式下生成整个工程,再单独生成install,完成opencv的编译;
最后生成包含所有的头文件、lib文件与dll文件的文件夹install;
编译完成,尽情享用吧。
相关文章推荐
- 【caffe】windows下vs2013+opencv3.2.0+opencv_contrib(包含dnn)+cmake3.8编译与配置
- CMake编译opencv-3.2.0出现 Downloading opencv_ffmpeg.dll...
- cmake编译 opencv_contrib-master时候遇到错误
- OpenCV3.1开发系列-CMake编译OpenCV3.1及opencv_contrib
- cmake编译opencv3:opencv3.3.1+contrib+cuda8.0+vs2013(2015)+cmake3.10.1
- OpenCV学习笔记(09):opencv3.2+cmake3.8+VS2013,编译opencv_contrib
- Ubuntu 16.04 编译 opencv-3.2.0 + opencv_contrib-3.2.0
- 【学习opencv】Win10+VS2015+OpenCv3.2.0+OpenCv_contrib3.2.0+CMAKE3.8.1编译OpenCv源代码
- [置顶] Windows下利用Cmake编译OpenCV3.2.0 遇到ipipcv问题解决
- 使用CMake编译OpenCV3.0+OpenCV_contrib时所遇问题的解决方案
- 使用CMake 2.8 编译OpenCV 3.1.0 + opencv_contrib扩展 (环境ubuntu14.04 CUDA8.0)
- OpenCV3.2.0+opencv_contrib-3.2.0+VS2015+cmake
- ubuntu14.04 64位 opencv3.20 和 opencv_contrib-3.2.0编译安装
- Windows环境使用CMake编译 opencv3.3.0 && opencv_contrib3.3.0
- Cmake3.8+VS2013+Win10编译OpenCV3.2+opencv_contrib遇到的问题
- OpenCV3.2.0(CMake后)在VS2012下编译生成VS2012 SDK开发包
- 在Ubuntu 16.04 上编译安装OpenCV3.2.0(Cmake + python3 + OpenCV3)(转)
- 在Ubuntu 16.04 上编译安装OpenCV3.2.0(Cmake + python3 + OpenCV3)
- 【OpenCV】配置OpenCV 3.2.0 + OpenCV contrib + eclipse + Cmake3.9 + MinGw(TDM-GCC 5.1)