• 202232 编译opencv4.5.5 win32版本


    cmake的时候要把BUILD->opencv_world选上,这个是把所有的库打包在一起,否则不会生成opencv_worldXXX.lib 

    cmake编译遇到:

    问题一:下载ippicv_2020_win_ia32_20191018_general.zip失败

    手动下载:cd opencv\opencv-master\3rdparty\ippicv

    打开ippicv.cmake,找到42行,手动组合下载链接

    https://raw.staticdn.net/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_win_ia32_20191018_general.zip

    下载完放到以上目录并解压缩,修改ippicv.cmake,把下载的命令注释掉,并把确定返回状态的注释掉即可

    32#ocv_download(FILENAME ${OPENCV_ICV_NAME}
    33# HASH ${OPENCV_ICV_HASH}
    # URL
    # "${OPENCV_IPPICV_URL}"
    # "$ENV{OPENCV_IPPICV_URL}"
    # "https://raw.staticdn.net/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv"
    # DESTINATION_DIR "${THE_ROOT}"
    # ID IPPICV
    # STATUS res
    # UNPACK RELATIVE_URL)

    #if(res)
    set(${root_var} "${THE_ROOT}/${OPENCV_ICV_PACKAGE_SUBDIR}" PARENT_SCOPE)
    #endif()

    问题二:下载opencv_videoio_ffmpeg_64.dll opencv_videoio_ffmpeg.dll ffmpeg_version.cmake失败

    手动下载这几个文件,下载地址

    https://raw.githubusercontent.com/opencv/opencv_3rdparty/4d348507d156ec797a88a887cfa7f9129a35afac/ffmpeg/opencv_videoio_ffmpeg.dll
    https://raw.githubusercontent.com/opencv/opencv_3rdparty/4d348507d156ec797a88a887cfa7f9129a35afac/ffmpeg/opencv_videoio_ffmpeg_64.dll
    https://raw.githubusercontent.com/opencv/opencv_3rdparty/4d348507d156ec797a88a887cfa7f9129a35afac/ffmpeg/ffmpeg_version.cmake

    最后一个cmake,创建一个文件命名为ffmpeg_version.cmake,我网页的内容填进去

    编辑\3rdparty\ffmpeg\ffmpeg.cmake

    19#foreach(id ${ids})
    20# 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/"
    # 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()

    问题三:CMake Error at modules/videoio/cmake/detect_ffmpeg.cmake:16 (include): include could not find load file:

    把源码中3rdparty\ffmpeg文件件拷贝到,构建目录的3rdparty\中,参考:https://github.com/opencv/opencv_contrib/issues/2574

    问题四:WeChatQRCode: Can't get detect caffemodel file for wechat qrcode.

    手动下载这个文件:https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/a8b69ccc738421293254aec5ddb38bd523503252/detect.caffemodel

    放到BUILD\downloads中

    编辑opencv_contrib-master\modules\wechat_qrcode\CMakeList.txt,注释这些行

    34#foreach(model_name ${model_names})
    # foreach(model_type ${model_types})
    # ocv_download(FILENAME ${model_name}.${model_type}
    # HASH ${hash_${model_name}_${model_type}}
    # URL
    # "${OPENCV_WECHAT_QRCODE_URL}"
    # "$ENV{OPENCV_WECHAT_QRCODE_URL}"
    # "https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/${wechat_qrcode_commit_hash}/"
    # DESTINATION_DIR "${CMAKE_BINARY_DIR}/downloads/wechat_qrcode"
    # ID "wechat_qrcode"
    # RELATIVE_URL
    # STATUS res)
    # if(NOT res)
    # message(WARNING "WeChatQRCode: Can't get ${model_name} ${model_type} file for wechat qrcode.")
    # endif()
    # endforeach()
    #endforeach()

    问题五:最后生成库的时候失败,编辑cmake_install.cmake,注释掉这些行

    35#if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xlicensesx" OR NOT CMAKE_INSTALL_COMPONENT)
    # file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/etc/licenses" TYPE FILE RENAME "ippicv-readme.htm" FILES "F:/source_code/opencv/opencv-master/BUILD/3rdparty/ippicv/ippicv_win/icv/readme.htm")
    #endif()

    #if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xlicensesx" OR NOT CMAKE_INSTALL_COMPONENT)
    # file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/etc/licenses" TYPE FILE RENAME "ippicv-EULA.rtf" FILES "F:/source_code/opencv/opencv-master/BUILD/3rdparty/ippicv/ippicv_win/EULA.rtf")
    #endif()

    #if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xlicensesx" OR NOT CMAKE_INSTALL_COMPONENT)
    # file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/etc/licenses" TYPE FILE RENAME "ippicv-third-party-programs.txt" FILES "F:/source_code/opencv/opencv-master/BUILD/3rdparty/ippicv/ippicv_win/third-party-programs.txt")
    #endif()

    #if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xlicensesx" OR NOT CMAKE_INSTALL_COMPONENT)
    # file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/etc/licenses" TYPE FILE RENAME "opencl-headers-LICENSE.txt" FILES "F:/source_code/opencv/opencv-master/3rdparty/include/opencl/LICENSE.txt")
    #endif()

    #if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xlicensesx" OR NOT CMAKE_INSTALL_COMPONENT)
    # file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/etc/licenses" TYPE FILE RENAME "ade-LICENSE" FILES "F:/source_code/opencv/opencv-master/BUILD/3rdparty/ade/ade-0.1.1f/LICENSE")
    #endif()

    #if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xlicensesx" OR NOT CMAKE_INSTALL_COMPONENT)
    # file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/etc/licenses" TYPE FILE RENAME "ffmpeg-license.txt" FILES "F:/source_code/opencv/opencv-master/3rdparty/ffmpeg/license.txt")
    #endif()

    #if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xlicensesx" OR NOT CMAKE_INSTALL_COMPONENT)
    # file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/etc/licenses" TYPE FILE RENAME "ffmpeg-readme.txt" FILES "F:/source_code/opencv/opencv-master/3rdparty/ffmpeg/readme.txt")
    #endif()

    #if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xdevx" OR NOT CMAKE_INSTALL_COMPONENT)
    # file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/opencv2" TYPE FILE FILES "F:/source_code/opencv/opencv-master/BUILD/cvconfig.h")
    #endif()

    #if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xdevx" OR NOT CMAKE_INSTALL_COMPONENT)
    # file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/opencv2" TYPE FILE FILES "F:/source_code/opencv/opencv-master/BUILD/opencv2/opencv_modules.hpp")
    #endif()

  • 相关阅读:
    【代码整合】导航
    【代码片段】简易de幻灯片解说prevScene() & nextScene()方法
    PHP file函数技巧去除每个元素换行符,去除空行元素
    windows ldap 小例子
    VI 如何格式化代码
    php通过Active Directory简单验证LDAP
    linux系统监控常用命令
    使用wget 命令下载链接文件
    【转】关于sql的书写
    php数组合并:array_merge与 “+”
  • 原文地址:https://www.cnblogs.com/xpylovely/p/15955783.html
Copyright © 2020-2023  润新知