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

这篇具有很好参考价值的文章主要介绍了【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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


前言

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


准备工具

cmake、vs2019、opencv4.8.0、opencv_contrib-4.8.0、cuda、cudnn

cuda/cudnn

安装cuda、cudnn可以参考此前博主的【深度学习windows10环境配置详细教程】,因为对于新手来说,需要注意的细节比较多,这里不浪费篇幅重复讲述了。

cmake

CMake官方下载地址,下载cmake-3.27.7-windows-x86_64.msi。
【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节
添加到环境和安装路径博主根据自身情况作出了修改,其他都是默认安装。
【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节
出现以下界面安装成功。
【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节

opencv4.8.0

Opencv官方下载地址,下载OpenCV – 4.8.0 Sources,下载解压opencv-4.8.0.zip。
【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节

opencv_contrib

opencv_contrib官方下载地址,选择opencv对应的contrib版本,例如opencv4.8.0对应就是opencv_contrib-4.8.0.zip。下载后直接解压。
【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节


CMake编译

  1. 打开CMake,where is the source code是Opencv sources(博主是opencv-4.8.0)的文件夹位置,where to build the binaries是编译opencv保存的文件夹位置(自定义),在左下角第一次点击Configure。
    【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节
  2. 选择对应vs的版本(博主是vs2019),系统选择x64,最后点右下角Finish。【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节
  3. 显示Configuring done后,在Search搜索框搜索带cuda的关键字,全部勾选。
    【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节
  4. Search搜索框搜索OPENCV_EXTRA_MODULES_PATH,添加解压的opencv_contrib中的modules的路径,再搜索并勾选OPENCV_ENABLE_NONFREE选项。【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节
  5. build_opencv_world可以将所有opencv的库都打包编译在一起,后续配置C++的opencv环境时不需要自己手动选择添加每个小模块,但是具体的工程又不建议这种模式。【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节
  6. 对于python、java、js、tests相关选项的选择,用Search搜索框分别搜索“python”,“java”,“js”,“tests”,根据需要选中和取消相关选项,默认都是选中的,博主只需要c++相关的,因此都取消了,第二次点击Configure。【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节
  7. 显示Configuring done后,将CUDA_ARCH_BIN显卡算力内容改成自己显卡的算力。官网查看显卡算力地址,删除小于自己显卡算力的部分,再搜索并勾选ENABLE_FAST_MATH选项,第三次点击Configure。
    【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节
  8. 显示Configuring done后,点击generate,显示generating done,成功完成cmake编译,在输出的opencv保存文件夹位置中存在就生成了OpenCV.sln文件。
    【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节

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


VS2019编译

  1. 使用VS2019 (以管理员方式运行) 打开刚刚编译工程OpenCV.sln,在release|x64模式下,在解决方案资源管理器—>CMakeTargets—>右键点击ALL_BUILD–>生成。【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节
  2. 同样在release|x64模式下,在解决方案资源管理器—>CMakeTargets—>右键点击INSTALL–>生成。【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节

编译完成后在where to build the binaries位置的install文件夹内生成以下内容。
【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节


可能出现的问题

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

cmake编译出现Download failed的问题。
【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节

在where to build the binaries位置里面有个CMakeDownloadLog.txt,将里面下载链接复制到浏览器进行下载,
【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节
将其和where is the source code里面的.cache文件夹里面内容相对应,下图是下载失败时候,文件大小是0KB,手动下载完成后进行替换。

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

【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节
对于部分文件则需要将网页以另存为的方式进行替换,注意一定不要以复制网页内容粘贴到空文件的方式进行替换,这是无效的的。
【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节
将整个.cache都用同样的方式进行处理。
【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节
强调一点,出现这种问题,可以暂时先走完CMake编译过程,因为每一次Configuring都会有新的下载内容,然后再一次性将.cache的内容进行完整的替换,最后进行Configuring和Generate。
这里博主提供自己的【.cache百度云 ,提取码:ctl6 】

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

通常是对于部分资源,vs2019没有管理员操作权限,因此只需要用管理员身份重新打开进行操作即可。
【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节


测试使用GPU

这里用一段简单的c++代码验证安装完成的opencv是否支持gpu设备。

#include <opencv2/opencv.hpp>
#include <opencv2/core/cuda.hpp>
int main() {
    // 检查是否支持CUDA
    if (cv::cuda::getCudaEnabledDeviceCount()) {
        std::cout << "检测到支持CUDA的设备数量" << cv::cuda::getCudaEnabledDeviceCount() <<std::endl;
    }
    else {
        std::cout << "未检测到支持CUDA的设备" << std::endl;
    }
    return 0;
}

验证成功,oepncv-cuda版本源码编译成功。
【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程,opencv,opencv,人工智能,计算机视觉,1024程序员节


总结

尽可能简单、详细的介绍windows10下C++版本opencv4.8.0-cuda版本用源码进行编译的详细流程。文章来源地址https://www.toymoban.com/news/detail-713939.html

到了这里,关于【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • openCV的CUDA GPU 版本安装 (Ubuntu windows 通用)

    需要做template match, 比较注重时间,因此opencv 的普通版本不适用。需要用GPU 的。 4090的GPU 测试: 使用普通的python-opencv template match 耗时0.089秒。 GPU 版本:0.0065秒 快了13.69倍 Oh YEAH, case sealed 1: visual studio (不是vs code)

    2024年01月22日
    浏览(30)
  • 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日
    浏览(39)
  • 学习Opencv(蝴蝶书/C++)代码——1.macOS下安装OpenCV4.8.0和QT5.15(C++)

    先看看vscode里怎么弄c++,详见:mac下vscode配置c++环境 同时记得把cmake下载好,路径配置好 直接从官网教程开始(事实证明不是很全面,还是有很多问题需要额外找解决方案): https://docs.opencv.org/4.x/d0/db2/tutorial_macos_install.html 一般是有两种安装方式: 直接安装对应平台的预编

    2024年01月18日
    浏览(56)
  • windows11编译OpenCV4.5.0 with CUDA(附注意事项)

    从OpenCV4.2.0 版本开始允许使用 Nvidia GPU 来加速推理。本文介绍最近使用windows11系统编译带CUDA的OpenCV4.5.0的过程。 文中使用【 特别注意 :…】为大家标识出容易出错的地方。 安装成功后,使用CPU与GPU调用yolov4模型进行推理的耗时测试结果: GPU CPU 4ms 311ms 从差距上看,还是值

    2024年02月12日
    浏览(50)
  • 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part III

    Part III 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_松下J27的博客-CSDN博客 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part II_松下J27的博客-CSDN博客             前面已经知道了如何在opencv.sln的项目中查看源码,现在看

    2024年02月10日
    浏览(34)
  • 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part II

    用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_松下J27的博客-CSDN博客 在上一篇文章中,我用cmake成功的生成了opencv.sln,后面都不会再用cmake了,直接在VS中操作。 1,用VS打开OpenCV.sln,并编译该项目 1.1,打开后,确认当前的运行环境为Debug+x64模式

    2024年02月11日
    浏览(33)
  • 用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I

            写在最前面,最近这段时间的工作需要用opencv,不仅是调包,还要能够看到opencv的源码。然后就跟着网上的教程实现了一遍,在实现过程中,遇到了不少问题,现一一记录下来。(最近的工作和生活都很难。。。也充满了挑战。但我依然要维持自己创作文章的动机,

    2024年02月11日
    浏览(29)
  • gocv Windows10下编译和安装(opencv4.7)

    opencv居然还没有官方的golang版,出乎意料。为了编译安装这玩意,折腾了一下午,记录下: 1、 MinGW-w64 这里的坑是对于只懂一点点的人,容易选错版本: 没仔细看的人很可能会选win32的(我就是),因为下意识认为Windows下选择这个版本!! 2、cmake选择系统对应版本就好 3、

    2024年02月10日
    浏览(31)
  • 多版本opencv共存 删除原系统opencv,安装opencv4.4.0 /3.4.10 / 2.4.13.5

    本文用于记录opencv共存设置过程以及踩过的坑 似乎没完全删除 使用 find /usr iname opencv find /usr iname opencv4 find /usr iname opencv3.4 (之前安过3.4) find /usr iname opencv2 找到所有相关文件夹删除。 下面这条命令似乎可以把所有依赖都一起检测出来,并可以逐项悬着是否删除(由于对

    2024年01月18日
    浏览(37)
  • opencv4.7.0 win10 源码编译 vs2019 cmake

    步骤: ① 编译opencv源码;注意几个下载内容;根据cmakedownloadlog.txt中的说明 ② 生成opencv.sln,先使用ALL_BUILD生成 ③ 然后对install工程进行生成 ④ 使用:离线使用,opencv文件夹 install的include lib bin 等复制到当前工程下的文件夹;然后配置属性     配置属性时注意一下路径,工

    2024年02月04日
    浏览(50)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包