第一步:
1.1 打开D:\opencv4.1.1\opencv\sources\3rdparty\ffmpeg\ffmpeg.cmake文件
如下所示:
# Binaries branch name: ffmpeg/master_20190616
# Binaries were created for OpenCV: 7b099e0fe2d929e55d6705b6ad510c2c9081606b
ocv_update(FFMPEG_BINARIES_COMMIT "998718df34e35ea0fa429724875fc3900faa266f")#FFMPEG_BINARIES_COMMIT后面数字加字母的一串字符串即998718df34e35ea0fa429724875fc3900faa266f就是下面${FFMPEG_BINARIES_COMMIT}的内容,根据自己情况进行修改
ocv_update(FFMPEG_FILE_HASH_BIN32 "f03b47fb809edd2e06b6db135cbd3e49")#opencv_videoio_ffmpeg.dll的哈希值
ocv_update(FFMPEG_FILE_HASH_BIN64 "5c4571459570c288d874704244c428b5")#opencv_videoio_ffmpeg_64.dll的哈希值
ocv_update(FFMPEG_FILE_HASH_CMAKE "f710891525a04586d565d0e700e62a9c")#ffmpeg_version.cmake哈希值
function(download_win_ffmpeg script_var)
set(${script_var} "" PARENT_SCOPE)
set(ids BIN32 BIN64 CMAKE)
set(name_BIN32 "opencv_videoio_ffmpeg.dll")#opencv_videoio_ffmpeg.dll加在下面https://raw.githubusercontent.com/opencv/opencv_3rdparty/${FFMPEG_BINARIES_COMMIT}/ffmpeg/最后面
set(name_BIN64 "opencv_videoio_ffmpeg_64.dll")#同上
set(name_CMAKE "ffmpeg_version.cmake")#同上
set(FFMPEG_DOWNLOAD_DIR "${OpenCV_BINARY_DIR}/3rdparty/ffmpeg")
set(status TRUE)
foreach(id ${ids})
ocv_download(FILENAME ${name_${id}}
HASH ${FFMPEG_FILE_HASH_${id}}
URL
"$ENV{OPENCV_FFMPEG_URL}"
"${OPENCV_FFMPEG_URL}"
"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${FFMPEG_BINARIES_COMMIT}/ffmpeg/"#下载链接一部分,其中${FFMPEG_BINARIES_COMMIT}和上面的FFMPEG_BINARIES_COMMIT后面数字加字母的一串字符串即998718df34e35ea0fa429724875fc3900faa266f相对应
DESTINATION_DIR ${FFMPEG_DOWNLOAD_DIR}
ID FFMPEG
RELATIVE_URL
STATUS res)
if(NOT res)
set(status FALSE)
endif()
endforeach()
if(status)
set(${script_var} "${FFMPEG_DOWNLOAD_DIR}/ffmpeg_version.cmake" PARENT_SCOPE)
endif()
endfunction()
if(OPENCV_INSTALL_FFMPEG_DOWNLOAD_SCRIPT)
configure_file("${CMAKE_CURRENT_LIST_DIR}/ffmpeg-download.ps1.in" "${CMAKE_BINARY_DIR}/win-install/ffmpeg-download.ps1" @ONLY)
install(FILES "${CMAKE_BINARY_DIR}/win-install/ffmpeg-download.ps1" DESTINATION "." COMPONENT libs)
endif()
ocv_install_3rdparty_licenses(ffmpeg license.txt readme.txt)
下面是ffmpeg总的下载链接:
https://raw.githubusercontent.com/opencv/opencv_3rdparty/998718df34e35ea0fa429724875fc3900faa266f/ffmpeg/opencv_videoio_ffmpeg.dll
https://raw.githubusercontent.com/opencv/opencv_3rdparty/998718df34e35ea0fa429724875fc3900faa266f/ffmpeg/opencv_videoio_ffmpeg_64.dll
将ffmpeg下载下来的文件放在D:\opencv4.1.1\opencv\sources\.cache下面,根据自己的路径进行修改,没有.cache这个文件夹就自己新建一个,其具体格式如下所示
ippicv的D:\opencv4.1.1\opencv\sources\3rdparty\ippicv\ippicv.cmake按照ffmpeg进行修改,其中是下载ippicv_2019_win_intel64_20180723_general.zip还是ippicv_2019_win_ia32_20180723_general.zip是根据你cmake平台选择win32还是x64来的,实在不知道就都下载下载,按照ffmpeg来进行。其具体格式如下所示
cmake之前自己新建sources/.cache文件夹下面的文件
D:\OPENCV4.1.1\OPENCV\SOURCES\.CACHE
│ .gitignore
│
├─ade
│ 37479d90e3a5d47f132f512b22cbe206-v0.1.1d.zip
│
├─ffmpeg
│ 5c4571459570c288d874704244c428b5-opencv_videoio_ffmpeg_64.dll
│ f03b47fb809edd2e06b6db135cbd3e49-opencv_videoio_ffmpeg.dll
│ f710891525a04586d565d0e700e62a9c-ffmpeg_version.cmake
│
└─ippicv
1d222685246896fe089f88b8858e4b2f-ippicv_2019_win_intel64_20180723_general.zip
说明:
5c4571459570c288d874704244c428b5-opencv_videoio_ffmpeg_64.dll
其中5c4571459570c288d874704244c428b5为opencv_videoio_ffmpeg_64.dll的哈希值
第一次config之后需要需要将face_landmark_model下载下来D:\opencv_contrib-4.1.1\modules\face\CMakeLists.txt,其下载方法参照ffmpeg方式下载,其具体格式如下所示,其中xfeatures2d文件夹不需要构建第二次config自己创建和下载的,这个没有被墙,下载速度还可以的
D:\OPENCV4.1.1\OPENCV\SOURCES\.CACHE
│ .gitignore
│
├─ade
│ 37479d90e3a5d47f132f512b22cbe206-v0.1.1d.zip
│
├─data
│ 7505c44ca4eb54b4ab1e4777cb96ac05-face_landmark_model.dat
│
├─ffmpeg
│ 5c4571459570c288d874704244c428b5-opencv_videoio_ffmpeg_64.dll
│ f03b47fb809edd2e06b6db135cbd3e49-opencv_videoio_ffmpeg.dll
│ f710891525a04586d565d0e700e62a9c-ffmpeg_version.cmake
│
├─ippicv
│ 1d222685246896fe089f88b8858e4b2f-ippicv_2019_win_intel64_20180723_general.zip
│
└─xfeatures2d
├─boostdesc
│ 0ae0675534aa318d9668f2a179c2a052-boostdesc_lbgm.i
│ 0ea90e7a8f3f7876d450e4149c97c74f-boostdesc_bgm.i
│ 202e1b3e9fec871b04da31f7f016679f-boostdesc_binboost_064.i
│ 232c966b13651bd0e46a1497b0852191-boostdesc_bgm_bi.i
│ 324426a24fa56ad9c5b8e3e0b3e5303e-boostdesc_bgm_hd.i
│ 98ea99d399965c03d555cef3ea502a0b-boostdesc_binboost_128.i
│ e6dcfa9f647779eb1ce446a8d759b6ea-boostdesc_binboost_256.i
│
└─vgg
151805e03568c9f490a5e3a872777b75-vgg_generated_120.i
7126a5d9a8884ebca5aea5d63d677225-vgg_generated_64.i
7cd47228edec52b6d82f46511af325c5-vgg_generated_80.i
e8d0dcd54d1bcfdc29203d011a797179-vgg_generated_48.i
PS D:\opencv4.1.1\opencv\sources>
下载链接汇总:
https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_win_intel64_20180723_general.zip
https://raw.githubusercontent.com/opencv/opencv_3rdparty/998718df34e35ea0fa429724875fc3900faa266f/ffmpeg/opencv_videoio_ffmpeg.dll
https://raw.githubusercontent.com/opencv/opencv_3rdparty/998718df34e35ea0fa429724875fc3900faa266f/ffmpeg/opencv_videoio_ffmpeg_64.dll
https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat
参考:
- https://blog.youkuaiyun.com/luoluonuoyasuolong/article/details/80409644
- https://blog.youkuaiyun.com/yiyuehuan/article/details/52951574
- https://www.jianshu.com/p/a2bce944a3dd
- https://cv-tricks.com/how-to/installation-of-opencv-4-1-0-in-windows-10-from-source/
- https://www.cnblogs.com/zhangmingcheng/p/10635958.html