【opencv】【CPU】windows10下opencv4.8.0-cuda C++版本源码编译教程-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

【opencv】【CPU】windows10下opencv4.8.0-cuda C++版本源码编译教程

提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论

文章目录


前言

OpenCV是一个开源的计算机视觉库包含了核心模块和扩展模块提供了基础的图像处理和计算机视觉算法以及一些机器学习工具。而OpenCV Contrib是OpenCV社区贡献的一组扩展模块之一包含了一些较为新颖和实用的算法和工具函数提供了一些高级的图像处理和计算机视觉算法。这些功能和算法可能不适合所有用户或者还处于实验性阶段。OpenCV Contrib模块中的代码由社区贡献者开发和维护它们提供了一些在OpenCV核心库中尚未包含的新特性和实验性功能。

对于部分使用者来说官网下载全家桶非常方便无需进行编译过程对于不想花时间和精力编译的用户来说这是最简单的选择。但是对于大部分开发人员来说通过源码编译可以根据自己的需求进行自定义设置启用或禁用特定功能、优化编译选项以及添加自己的修改。这为您提供了更大的灵活性和控制权这里先放本地编译的opencv(左边)和官方下载的opencv(右边)的对比文件大小能精简不少。


准备工具

cmake、vs2019、opencv4.8.0、opencv_contrib-4.8.0

cmake

CMake官方下载地址下载cmake-3.27.7-windows-x86_64.msi。

添加到环境和安装路径博主根据自身情况作出了修改其他都是默认安装。

出现以下界面安装成功。

opencv4.8.0

Opencv官方下载地址下载OpenCV – 4.8.0 Sources下载解压opencv-4.8.0.zip。

opencv_contrib

opencv_contrib官方下载地址选择opencv对应的contrib版本例如opencv4.8.0对应就是opencv_contrib-4.8.0.zip。下载后直接解压。


CMake编译

  1. 打开CMakewhere is the source code是Opencv sources(博主是opencv-4.8.0)的文件夹位置where to build the binaries是编译opencv保存的文件夹位置(自定义)在左下角第一次点击Configure。
  2. 选择对应vs的版本(博主是vs2019)系统选择x64最后点右下角Finish。
  3. Search搜索框搜索OPENCV_EXTRA_MODULES_PATH添加解压的opencv_contrib中的modules的路径再搜索并勾选OPENCV_ENABLE_NONFREE选项。
  4. build_opencv_world可以将所有opencv的库都打包编译在一起后续配置C++的opencv环境时不需要自己手动选择添加每个小模块但是具体的工程又不建议这种模式。
  5. 对于python、java、js、tests相关选项的选择用Search搜索框分别搜索“python”“java”“js”“tests”根据需要选中和取消相关选项默认都是选中的博主只需要c++相关的因此都取消了第二次点击Configure。
  6. 搜索并勾选ENABLE_FAST_MATH选项第三次点击Configure。
  7. 显示Configuring done后点击generate显示generating
    done成功完成cmake编译在输出的opencv保存文件夹位置中存在就生成了OpenCV.sln文件。

cmake编译过程是会从githup上下载数据但是一般都会出现下载失败的情况这里建议读者先跳到【可能出现的问题】这一小节来确认是不是自己也出现了下载失败的情况。


VS2019编译

  1. 使用VS2019 (以管理员方式运行) 打开刚刚编译工程OpenCV.sln在release|x64模式下在解决方案资源管理器—>CMakeTargets—>右键点击ALL_BUILD–>生成。
  2. 同样在release|x64模式下在解决方案资源管理器—>CMakeTargets—>右键点击INSTALL–>生成。

    编译完成后在where to build the binaries位置的install文件夹内生成以下内容。

可能出现的问题

cmake编译过程中可能出现的问题

cmake编译出现Download failed的问题。

在where to build the binaries位置里面有个CMakeDownloadLog.txt将里面下载链接复制到浏览器进行下载

将其和where is the source code里面的.cache文件夹里面内容相对应下图是下载失败时候文件大小是0KB手动下载完成后进行替换。

注意用来替换的文件的名称要与对应空文件的名称保持一致。


对于部分文件则需要将网页以另存为的方式进行替换注意一定不要以复制网页内容粘贴到空文件的方式进行替换这是无效的的。

将整个.cache都用同样的方式进行处理。

强调一点出现这种问题可以暂时先走完CMake编译过程因为每一次Configuring都会有新的下载内容然后再一次性将.cache的内容进行完整的替换最后进行Configuring和Generate。
这里博主提供自己的【.cache百度云 提取码:ctl6 】

VS2019编译过程中可能出现的问题

通常是对于部分资源vs2019没有管理员操作权限因此只需要用管理员身份重新打开进行操作即可。


总结

尽可能简单、详细的介绍CPU模式下windows10下C++版本opencv4.8.0版本用源码进行编译的详细流程。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: windowsc++