windows安装opencv4.1.1过程中ffmpeg、ippicv、face_landmark_model下载出错解决办法

本文详细介绍了如何在OpenCV 4.1.1中配置和使用FFMPEG,包括修改cmake文件、下载指定版本的FFMPEG库及其哈希值验证,以及在特定目录下放置所需文件的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步:
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
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值