1. 程式人生 > >【OpenCV】編譯OpenCV時,FFmpeg或ippicv下載不成功的解決方案

【OpenCV】編譯OpenCV時,FFmpeg或ippicv下載不成功的解決方案

在自己編譯OpenCV時,因為種種原因可能會導致FFmpeg或ippicv下載不成功的問題,可以通過手動配置來解決這類問題,當然也可以直接配置之後再編譯。

在進行配置之前,首先前往GitHub下載相應的庫。

這裡寫圖片描述

連結開啟之後頁面內容大致如上圖所示,圖中圈出了ffmpeg和iipicv的不同版本,具體用哪一版就各取所需吧。明確版本之後點選相應的連結進入下載。

下載完成之後解壓,位置不重要。
這裡寫圖片描述

到此,準備完畢。

FFmpeg的配置

  1. “..\opencv_3rdparty-ffmpeg-master_20160715\ffmpeg” 目錄中的 ffmpeg_version.cmake

    opencv_ffmpeg.dllopencv_ffmpeg_64.dll 三項複製到 “path to your OpenCV\opencv\sources\3rdparty\ffmpeg” 目錄下。
    這裡寫圖片描述
    將上圖中的三項複製到下圖的目錄中
    這裡寫圖片描述

  2. 編輯 ffmpeg.cmake
    “path to your OpenCV\opencv\sources\3rdparty\ffmpeg” 中開啟檔案 ffmpeg.cmake ,將其內容修改為:

    message(STATUS "FFMPEG: Package successfully downloaded")
    include(${CMAKE_CURRENT_LIST_DIR}
    /ffmpeg_version.cmake)

    儲存內容。

到此,ffmpeg配置完畢。

ippicv的配置

  1. 在前面下載解壓的目錄“..\opencv_3rdparty-ippicv-master_20151201\ippicv” 中將ippicv_windows_20151201.zip 解壓到當前目錄。
    這裡寫圖片描述
    “path to your OpenCV \opencv\sources\3rdparty\ippicv” 中建立資料夾unpack,將解壓得到的ippicv_win 複製到新建立的unpack 中。
    這裡寫圖片描述

  2. 編輯 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()

儲存內容。
到此,ippicv配置完畢。

開始快樂的編譯OpenCV吧!

相關推薦

OpenCV編譯OpenCVFFmpegippicv下載成功解決方案

在自己編譯OpenCV時,因為種種原因可能會導致FFmpeg或ippicv下載不成功的問題,可以通過手動配置來解決這類問題,當然也可以直接配置之後再編譯。 在進行配置之前,首先前往GitHub下載相應的庫。 連結開啟之後頁面內容大致如上圖所示,圖中圈

前端ajax跨域這應該是最全的解決方案

原文出處: 撒網要見魚    前言 從剛接觸前端開發起,跨域這個詞就一直以很高的頻率在身邊重複出現,一直到現在,已經除錯過N個跨域相關的問題了,16年時也整理過一篇相關文章,但是感覺還是差了點什麼,於是現在重新梳理了一下。 個人見識有限,如有差錯,請多多見諒,歡迎提出i

ORACLE安裝先決條件檢查失敗

需要以下幾步操作: 1.在net share c$=c:  2.修改登錄檔 HKEY_LOCAL_MACHINE-SYSTEM-CurrentControlSet-services-LanmanServer-Parameters 選中Parameters,在右邊名稱中找到AutoShareWks 項

1學習C++一些零散知識點01

可靠 dash 便是 哪些 對象 區別 結構化 新的 但是 學習從學習完C後,接觸了C++,最重要的便是編程理念的轉變。C縮重視的是結構化編程,面對一個較大的程序,就將他分解成小型、便於管理的任務,如果分解後的任務還是偏難過大的話,那將這個任務繼續進行分解。這種方法在早

問題父套子子元素的外邊距傳遞給父元素解決辦法

css charset wid 阻止 nbsp tab gree back margin 使用空的<table>標簽可以隔離父子元素的外邊距,阻止外邊距的重疊(直接添加會產生 無用標簽,要在CSS中添加屬性) 1 <!DOCTYPE htm

關於編程你的練習是是有效的?

分享 關於 一個人 gpo 酷炫 合成 2.4 anon cal 對於我來說,提升技能的項目會有四種: 純興趣驅動的項目。即我的Idea列表上的一個個酷炫的項目,先滿足自己再說。 理論驅動的項目。這一類的項目會比較少,因為我們需要牽強地驅動出這樣的項目,然後以理論的方式驅

MySQLMysql併發經典常見的死鎖原因及解決方法

https://www.cnblogs.com/zejin2008/p/5262751.html   1.    mysql都有什麼鎖   MySQL有三種鎖的級別:頁級、表級、行級。 表級鎖:開銷小,加鎖快;不會出現死

移動端二三事:移動端觸摸事件點透及多種解決方案

優化 提前 sta 屬性 lis 剛才 觸摸事件 功能 觸發 大家都知道的少說,多分享一些幹貨。 一、首先說移動端的三大主要事件: 1.手指按下: ontouchstart2.手指移動:ontouchmove3.手指擡起 ontouchend *使用移動端事件時,為盡

IDEAIDEA中maven項目pom.xml依賴生效解決

code CI dea color ogl end pen 分享圖片 關系 問題:   今天在web項目中需要引入poi相關jar包。查看之下才發現pom.xml中的依賴雖然已經下載到了本地倉庫 repository,但是卻沒有加入到項目路徑的 Extenal Libra

安裝mysql 8.0版本使用navicat 連接報1251錯誤解決方案

sha cal TE roo oot string XP 規則 nat 今天安裝mysql8 使用navicat 連接時報錯 1251 這個錯誤出現的原因是在mysql8之前的版本中加密規則為mysql_native_password,而在mysql8以後的加密規則為ca

ROS建立Publisher和Subscriber過程中遇到的問題和解決方案

Tutorial連結:http://wiki.ros.org/ROS/Tutorials/WritingPublisherSubscriber%28c%2B%2B%29   1. 寫好並儲存好了talker.cpp和listener.cpp卻無法建立 檢查~/catkin

事務關於Spring事務加了@Transational還是無法啟用的解決方案

扯淡最近的專案又被別人改了配置檔案,還好寫了一個數據前後處理順序錯誤引發的BUG發現報異常時資料卻被刪除了驚醒怎麼事務沒了。 前言: Spring配置之前寫了有3個檔案 ①spring-context  一般管理配置檔案注入  <!-- springMVC配置

python以gzip header請求html資料response內容亂碼無法解碼的解決方案

1. 問題背景 在使用urllib2 module抓取web資料時,如果希望使用如何request header,減少傳輸時資料量。返回的資料,是經過gzip壓縮的。直接按照 content.decode(“utf8”), 解碼會出現異常,並且也無法檢測網頁資

Intellij匯入子專案maven列表子專案灰色可用---解決方法

匯入子專案的module時,左側project目錄中有一個module圖示右下角沒有小藍點,maven管理列表該module為灰色(表明未被管理),嘗試幾次後終於找到解決方案。 貼一張調好過後的圖

JmeterAddress already in use : connect &&Permission denied: connect 解決方案

in use 重啟 基數 nec key res gedit pip 解決方案 Address already in use : connect 該問題的原因為:     Windows 提供給 TCP/IP鏈接的端口為 1024-5000,並且要四分鐘來循環回收他

Pritunl 搭建提示使用者名稱和密碼錯誤的解決方案

注意:Pritunl的登陸介面,預設的使用者名稱和密碼都是“pritunl”; Pritunl,網上的搭建過程有錯誤,下面是我的搭建過程: 一、安裝Pritunl apt-getupdate #首先更新軟體源 apt-getinstall -y python-sof

VS2012編譯報錯“······因為計算機丟失MSVCR120D.dll”之解決方案

1.開啟VS的時候編譯報錯,提示“無法啟動程式,因為計算機丟失MSVCR120D.dll”,如圖: 接著嘩嘩~~顯示一大堆錯誤資訊: “多執行緒平行計算.exe”(Win32): 已載入“C:

使用ionic框架的進行水平滾動導致頁面難以上下滑動的解決方案

混合app開發使用ionic框架的<ion-scroll>指令能夠方便地實現水平滾動和垂直滑動。比如我們想實現一個能夠水平滑動的畫廊,可以使用下面這段程式碼。 <html> <head> <meta http-equiv="C

NASNFS客戶端掛載目錄後無寫入許可權的解決方案

在客戶機通過mount -o rw -t nfs 192.168.192.204:/mnt/cephfs /mnt/nfs命令將網路檔案mount到本地。執行完成之後,目錄是可以訪問了,但無法寫入。分析

Activity切換可能出現的白色閃屏解決方案

今天在app上發現activity在切換的時候,背景的圖片頂部出現了白色的閃爍,起初還認為是actionbar的設定的背景圖片引起的,後來網上搜索了一番,發現不少人也遇到了問題。最後定位就是activity設定的theme引起的,在activity中我設定的是light:&