步骤过程:下载OpenCV源码包opencv-3.2.0.zip
解压后,查看文件夹opencv-3.2.0/3rdparty/ffmpeg
---cmake结束之后---在ffmpeg文件夹下,有如下内容:
该文件夹下没有ffmpeg.dll等动态链接库,在用cmake编译源码时,会下载ffmpeg.dll等库,所有要保持网络通畅。
——————configure过程
下载opencv_ffmpeg.dll的过程
下载完之后,安装
、
这时会在opencv的源码包里发现多了三个文件opencv_ffmpeg.dll opencv_ffmpeg_64.dl
在下载另一条的时候会失败的,错误提醒如下:
编译OpenCV3.2.0时,ffmpeg或ippcv下载不成功的解决方案可以通过手动配置来解决这类问题,当然也可以直接配置之后再编译,
下载地址为 opencv/opencv_3rdparty ,编译完成后结果为:
下载
解压文件夹下后,会看到以下文件夹,看到ippicv:
在文件夹ippicv下,会有分别在linux 、mac、win系统的三个压缩文件包,如下:
然后解压win的zip下:
然后将解压的该文件夹,存放在\ippicv,首先新建一个unpack的文件夹,
然后,将ippicv_win文件夹复制到unpack文件夹下。
然后,编辑downloader.cmake(首先将复制一份),如下:
,然后编辑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()
,然后重新点击configure,
,然后再点击 "Configure",红色部分,全部成为白色部分,
,然后点击Generate按钮:
,生成完成后,在cmake中的指定文件夹下,有如下:
,打开上述指定的文件夹,有:
,利用visual studio 2015打开上述的.sln解决方案,然后,将默认的Debug模式,改为Release模式,
,然后点击"Build"->"Build Solution"(生成--生成解决方案),大概等几分钟后,结果变为:
然后,打开右侧的解决方案资源管理器,再点击CMakeTarget-INSTALL:右键选择“仅用于项目-仅生成INSTALL”,
,然后打开生成的目录:
发现在文件夹下install下,打开该文件夹,会发现有一个x86的文件夹,