opencv4.7.0 win10 源码编译 vs2019 cmake

这篇具有很好参考价值的文章主要介绍了opencv4.7.0 win10 源码编译 vs2019 cmake。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

步骤:

① 编译opencv源码;注意几个下载内容;根据cmakedownloadlog.txt中的说明

② 生成opencv.sln,先使用ALL_BUILD生成

③ 然后对install工程进行生成

④ 使用:离线使用,opencv文件夹 install的include lib bin 等复制到当前工程下的文件夹;然后配置属性
    配置属性时注意一下路径,工程属性为.vcxproj 文件所在路径;去找相对路径时,其基础路径不一样,注意。

⑤ 编译成功,debug调试;成功


  •  下载opencv & opencv-contrib 4.7.0源码;注意下载地址
  • https://github.com/opencv/opencv/releases    https://github.com/opencv/opencv_contrib/releases/tag/4.7.0 版本要一模一样
  • cmake输出文件夹为:opencv-4.7.0-build
  • 参考教程:VS + OpenCV + cmake,源码编译,使用及调试_拜阳的博客-CSDN博客_vs+opencv+cmake
  • Windows 下 Cmake 编译 OpenCV + opencv_contrib 模块总结_windows编译opencv 4.5.1报错_Chris_zhangrx的博客-CSDN博客

0. cmake配置

  • 取消TEST工程生成;
  • 取消CUDA选项
  • 勾选opencv_world选项
  • 填入contrib路径:OPENCV_EXTRA_MODULES_PATH

opencv4.7.0 win10 源码编译 vs2019 cmake

 


遇到下载问题如下:

1. ippicv

opencv4.7.0 win10 源码编译 vs2019 cmakeopencv4.7.0 win10 源码编译 vs2019 cmake

  •  解决方法:打开opencv-4.7.0-build下的CMakeDownloadLog.txt文件,依次下载相应文件到相应文件夹;且命名格式为87974*

opencv4.7.0 win10 源码编译 vs2019 cmake

2. ffmpeg

  • 对ffmpeg.cmake的下载指令进行屏蔽;同时根据上面的下载日志进行替换;

  • 否则,一直重新下载覆盖原来下载的内容;由于下载一直失败,导致编译无法继续进行!!

  • https://raw.githubusercontent.com/opencv/opencv_3rdparty/7dd0d4f1d6fe75f05f3d3b5e38cbc96c1a2d2809/ffmpeg/ffmpeg_version.cmake

    • 下载ffmpeg_vesion.cmake到H:\opencv\opencv-4.7.0-build\3rdparty\ffmpeg 路径下;

 opencv4.7.0 win10 源码编译 vs2019 cmake

  •  cmake成功;

3. 添加contrib路径;

  • 勾选Build->Build_opencv_world:Build下面,此处勾选BUILD_opencv_world是为了后续在生成OpenCV动态库的时候,会生成一个总的opencv_world的库,不然每个模块都会生成一个库,使用比较麻烦
  • 此处在OPENCV_EXTRA_MODULES_PATH地方添加opencv_contrib里面的modules模块路径,用来集成该部分源代码。
  • 生成Opencv.sln,点击All-Build工程,生成;

3.1 wechat_qrcode下载代码屏蔽 

opencv4.7.0 win10 源码编译 vs2019 cmake

3.2 屏蔽 xfeature2d的两个cmake的下载内容,然后根据CMakeDownloadLog.txt链接下载相应文件

opencv4.7.0 win10 源码编译 vs2019 cmake

3.3 testdata/cv/face/face_landmark_model.dat

下载后放在相应文件夹后,configure done。成功;开始生成工程

3.4 没有VTK路径,WITH_VTK取消勾选

A library with LAPACK API not found. Please specify library location.
VTK is not found. Please set -DVTK_DIR in CMake to VTK build directory, or to VTK install subdirectory with VTKConfig.cmake file
CMake Error at cmake/OpenCVModule.cmake:356 (_glob_locations):
  Syntax error in cmake code at

    J:/opencv/opencv-4.7.0/cmake/OpenCVModule.cmake:356

  when parsing string

    J:\opencv\opencv_contrib-4.7.0\modules

  Invalid character escape '\o'.
Call Stack (most recent call first):
  cmake/OpenCVModule.cmake:385 (ocv_glob_modules)
  CMakeLists.txt:951 (ocv_register_modules)

3.5 contrib路径问题:Invalid character escape '\O'  右划线不行,得要左划线

opencv4.7.0 win10 源码编译 vs2019 cmake

Invalid character escape '\O'. Call Stack (most recent call first): modules/CMakeLists.txt:7 (ocv__静待花开s0的博客-CSDN博客

A library with LAPACK API not found. Please specify library location.
CMake Error at cmake/OpenCVModule.cmake:356 (_glob_locations):
  Syntax error in cmake code at

    J:/opencv/opencv-4.7.0/cmake/OpenCVModule.cmake:356

  when parsing string

    J:\opencv\opencv_contrib-4.7.0\modules

  Invalid character escape '\o'.
Call Stack (most recent call first):
  cmake/OpenCVModule.cmake:385 (ocv_glob_modules)
  CMakeLists.txt:951 (ocv_register_modules)

4. 解决方案报 LNK1104 无法打开文件 “python38_d.lib”

win10下用 Visual Studio 2019 重新生成 OpenCV 解决方案报 LNK1104 无法打开文件 “python38_d.lib”_ZChen1996的博客-CSDN博客_无法打开 python38_d.lib

 原因: 这是因为使用的 python 是 Release 版,而编译是在 Debug 模式下编译的(Release 模式下没有此问题)

在 python 的安装位置找到 include 文件夹,在文件夹下找到 pyconfig.h 文件
因为我用的是anaconda3装的,所以我的 pyconfig.h 位置为 D:\Programs\anaconda3\include\pyconfig.h

将 comment(lib,"python38_d.lib") 改为 comment(lib,"python38.lib")
————————————————
版权声明:本文为CSDN博主「ZChen1996」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ZChen1996/article/details/115998472

编译成功,Done!

使用编译的opencv库进行源码debug

VS + OpenCV + cmake,源码编译,使用及调试_拜阳的博客-CSDN博客_vs+opencv+cmake

 源码opencv编译后会生成一些.pdb的文件,这些文件是调试的关键。

  • 在VS解决方案管理器展开CMakeTargets,右键点击INSTALL,然后点击生成。之后会将我们需要用到的东西全部放在D:\software\opencv-4.4.0\build_vs2019\install文件夹下,包括以下内容:
    (1) include,头文件
    (2)x64/vc16/bin,dll文件
    (3)x64/vc16/lib,lib文件
  • install文件夹下所有的东西在其他地方都存在,比如dll文件在D:\software\opencv-4.4.0\build_vs2019\bin\Release,lib文件在D:\software\opencv-4.4.0\build_vs2019\lib\Release,但是头文件比较零散。INSTALL项目只是将这些我们调用OpenCV时需要用到的所有文件统一拷贝到了一个地方,省得自己找来找去。

直接将工程拷贝给别人使用

  • 将opencv文件拷贝到VS工程文件夹下。这样将后续配置路径成相对路径,那么当把工程文件拷贝给别人后,别人不需要额外配置就可以直接打开运行;
  • 如果把所有的dll lib 头文件都放在一个地方,每次使用绝对路径进行后续配置,那么拷给被人后就会很麻烦

opencv4.7.0 win10 源码编译 vs2019 cmake

 成功进入源码

opencv4.7.0 win10 源码编译 vs2019 cmake

其它问题

并行库和动态库没有安装!具体有:ONETBB TBB OPENMP

  • 你编译的时候勾选了tbb之类的库吧,但是你没有安装这些库,导致找不到这些dll
  • 要么去掉这些库,要么安装这些库,安装方法百度下就有
  • opencv cmake编译添加TBB、ipp、openmp和扩展 opencv_contrib_l12212的博客-CSDN博客

 下载TBB,添加了TBB路径;勾选了with_openmp, with_ipp;然后重新configure,重新生成INSTALL工程;

[ INFO:0@4.497] global registry_parallel.impl.hpp:96 cv::parallel::ParallelBackendRegistry::ParallelBackendRegistry core(parallel): Enabled backends(3, sorted by priority): ONETBB(1000); TBB(990); OPENMP(980)
[ INFO:0@4.497] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load H:\opencv_code\OpencvTest\opencv\bin\opencv_core_parallel_onetbb470_64d.dll => FAILED
[ INFO:0@4.497] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load opencv_core_parallel_onetbb470_64d.dll => FAILED
[ INFO:0@4.498] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load H:\opencv_code\OpencvTest\opencv\bin\opencv_core_parallel_tbb470_64d.dll => FAILED
[ INFO:0@4.498] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load opencv_core_parallel_tbb470_64d.dll => FAILED
[ INFO:0@4.498] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load H:\opencv_code\OpencvTest\opencv\bin\opencv_core_parallel_openmp470_64d.dll => FAILED
[ INFO:0@4.499] global plugin_loader.impl.hpp:67 cv::plugin::impl::DynamicLib::libraryLoad load opencv_core_parallel_openmp470_64d.dll => FAILED

https://ask.csdn.net/questions/7609851

 检查OpenCV是否使用TBB库编译_opencv tbb_TracelessLe的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-442088.html

  • TBB是为了多核处理器软件开发的C++模板库;作用是opencv在任务处理中使用多线程加速。
    • 注意拷贝tbb12_debug.dll库的时候,拷贝64位的就可以了。(我拷贝成了32位的,一度bug)

到了这里,关于opencv4.7.0 win10 源码编译 vs2019 cmake的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑

    教程参考:osgEarth源码编译(Win10+VS2019+OSG3.6.5+osgEarth2.10.0)   错误: xmemory0(881): error C2440: “初始化”: 无法从“std::pairconst _Kty,_Ty”转换为 to _Objty 出错位置: src/osgEarthFeatures/FeatureSourceIndexNode.cpp 解决办法: 参考https://github.com/gwaldron/osgearth/pull/1188/files 参考博客 :博客园 问

    2024年02月05日
    浏览(49)
  • VS2022 永久配置OpenCV4.7.0开发环境

    Releases - OpenCV https://opencv.org/releases/ 官网下载Visual Studio   2022 下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux 免费下载 Visual Studio IDE 或 VS Code。 在 Windows、Mac 上试用 Visual Studio Professional 或企业版。 https://visualstudio.microsoft.com/zh-hans/downloads/ 每次新建一个OpenCV  项目都要重新

    2024年02月06日
    浏览(36)
  • OpenCV+VS 环境配置(以OpenCV4.7.0+VS2022环境配置为例)

    下面以4.7.0版本的OpenCV与VS2022的环境配置为例进行介绍,其他版本的OpenCV与VS的环境配置也可参考本流程。 下载网址:https://opencv.org/releases/ 2.1 系统环境变量 1.右击桌面的此电脑图标,点击 属性→高级系统属性→高级→环境变量 。 2.找到 path 双击,添加红框里面的1个路径。

    2024年02月09日
    浏览(31)
  • opencv4.7.0编译opencv-contrib-4.7.0以及CUDA

    最近工作中需要用到使用CUDA加速后的opencv进行传统算法的开发,在编程之前,需要先解决环境编译和lib库问题,本文就是记录自己编译opencv-4.7.0的全过程。 可参考我之前的博客WIN10安装配置TensorRT详解中的前几节,可以清楚的知道如何在Windows10系统上安装适合自己的CUDA以及验

    2024年02月15日
    浏览(41)
  • 【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程

    提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 OpenCV是一个开源的计算机视觉库,包含了核心模块和扩展模块,提供了基础的图像处理和计算机视觉算法,以及一些机器学习工具。而OpenCV Contrib是OpenCV社区贡献的一组扩展模块之一,包含了一些较为

    2024年02月08日
    浏览(67)
  • windows10系统下安装opencv4.7.0+VSCode+(C++)环境搭建

    windows10系统下安装opencv4.7.0+VSCode+(C++)环境搭建 1.VScode最新版 2.Opencv:opencv-4.7.0、opencv_contrib-4.7.0(扩展库,可自选是否安装) 3.MinGW-w64:选择GCCWindows版本 4.c-make工具:最新版,应选择二进制版本 注意 : (1)以上安装包目录文件中不应包含空格空格和其他非法字符,否则后面会

    2023年04月10日
    浏览(42)
  • VS2019编译OSG3.7.0+OSGEarth3.3+OSGQt

    网上搜索发现关于这几个库编译过程的文章甚至要订阅才能看,在此做个详细记录。 这里使用的 cmake-3.18.3 、 VS2019 和 Qt5.15.2 进行编译。 下载不多赘述,在github上下master版本就是3.7.0版本。 另外还需要 3rdParty_VS2017_v141_x64_V11_full 和 OpenSceneGraph-Data-3.4.0 可以在OSG英文官网中下载

    2023年04月08日
    浏览(32)
  • Jpeg-9e源码编译(Win10,VS2022)

    Jpeg-9e源代码下载网址 http://www.ijg.org/ 下载后得到文件 解压缩到“D:SourceCodesjpeg-9e” 在目录“D:SourceCodesjpeg-9e”中创建文本文件,并改名为“win32.mak”,其内容如附注所示。 使用命令行,进入VS2022开发者命令行窗口 cd D:ProgramsMicrosoft Visual Studio2022CommunityVCAuxiliaryBuild D

    2024年02月04日
    浏览(45)
  • VS2019配置opencv4.6.0手把手一步一步实现

    引言:配置环境真是让人痛苦不堪,踩了无数个坑,网上的文章五花八门,完全不知道参考哪个,直接劝退。为了能顺利配置,此处进行记录,以后可以回过头来看,也分享给大家。 我提供了两种方法配置,一种是针对于一个项目配置,一种是针对所有需要配置opencv的项目。

    2024年02月16日
    浏览(24)
  • Win10 + VS2022 + OpenCV 4.7 + contrib + cuda加速 编译

    https://download.csdn.net/download/Kasper_2009/88252429 https://download.csdn.net/download/Kasper_2009/88252429 在cmd命令中打nvidia-smi看支持的cuda最高版本 cuda版本选择也不能过于早,作者之前用过cuda11.2,在后续vs编译环节发现其最高只支持vs2019,不支持vs2022。目前作者使用cuda11.8。 下载安装cuda:CU

    2024年02月17日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包