[转]编译Opencv的GPU,利用CUDA加速

1 篇文章 0 订阅

转自:http://blog.csdn.net/lanbing510/article/details/41211697

首先检查自己的机器是否支持,否则都是白搭(只有NVIDIA的显卡才支持,可在设备管理器中查看)

如果不用GPU,可以直接官网下载预编译好的库


环境:

1 VS2013

2 Opencv2.4.9

3 CUDA6.5 (只有6.5版本以上版本才加入对VS2013的支持,6.0最高支持到2012)

4 TBB


--------------以下内容转自网络(加入了自己编译时遇到的问题及解决方案)-----------------


1. 需要的文件
    1.1 CMAKE 3.0 [ http://www.cmake.org/download/
     1.2 CUDA 6.5 [ https://developer.nvidia.com/cuda-toolkit
     1.3 OpenCV 源文件 [ https://github.com/Itseez/opencv/releases/tag/2.4.9
     1.4 Intel TBB 库 [ https://www.threadingbuildingblocks.org/download
     1.5 Python 2.7 (非必须)
     1.6 Eigen 2.0.17 (非必须)
     1.7 Visual Studio 2013 (也可以用其他版本)

2. 配置 CMAKE
     2.1 打开 CMAKE
          - 选择 Source Folder 到 OpenCV 的源文件目录
          - 选择 Output Folder
          - 勾选 Advanced
 
     2.2 点 Configure,选择编译器
          - 选择 ‘Visual Studio 12 2013 Win64′
     2.3 配置 CUDA 选项
          - 取消 ‘BUILD_DOCS’ and ‘BUILD_EXAMPLES’
           - 取消 ‘CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE’
            - 检查 ‘CMAKE_LINKER’, 保证是 Visual Studio 12.0 (vs2013)
            - 选上 ‘WITH_CUBLAS’, ‘WITH_CUDA’, ‘WITH_OPENGL’, ‘WITH_TBB’
            - 点击 Configure 刷新配置

      2.4 配置 TBB 选项
           - 把 tbb include path 设置好,例如我的是 “D:\toolkits\tbb43_20140724oss\include”。一定要选到 include文件夹为止。
            - 点击 Configure 刷新

        - 接着可以看到 tbb 的 library 目录自动有了,但是可能是错的,需要改到 Debug 和 Release 文件夹的上级目录为止。例如我的要加上 ‘vc12*,变成 D:/toolkits/tbb43_20140724oss/lib/intel64/vc12〃(不加vc12的话,opencv_core模块都编译不过去,其他的就不用说了)

        - 点击 Configure 刷新


      2.5 直到没有红色条目出现,点击 Generate 生成 OpenCV.sln


3. 编译 OpenCV.sln
     - 如果 OpenCV,tbb,Python 中的某个安装在 C:\Program Files,那么你需要用管理员权限运行 vs2013 才行
     - 我建议先编译 *opencv_core* 和 ‘ opencv_gpu* (右键点击,点 *BUILD*)。如果这两个没错,接下来应该都可以编译
     - 右键点击 *ALL_BUILD*,在点 *BUILD*
     - *BUILD* 之后在编译一下 *INSTALL*,来把编译好的文件放在一起到 *<Output Folder>\install*
     - 在切换到 Release,重复 *ALL_BUILD* 和 *INSTALL*
     - *Debug* 应该会有一个 error, *Release* 应该会没有 error
     - 编译时间很长。很长。

 



3. 使用
    - 使用的时候需要加入TBB的bin和CUDA的bin,否则运行时会报错

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在RK3588 Debian 11上编译OpenCV C++程序并使用GPU加速,您需要遵循以下步骤: 1. 安装CUDA和cuDNN 首先,您需要安装CUDA和cuDNN。您可以按照NVIDIA的指南进行安装。建议使用TensorFlow官方支持的版本。例如,如果您使用TensorFlow 2.6,则应安装CUDA 11.2和cuDNN 8.2。 2. 安装OpenCV 安装OpenCV之前,您需要安装一些依赖项: ``` sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev ``` 然后,您可以从OpenCV官方网站下载源代码,并按照以下步骤进行编译和安装: ``` cd ~/opencv mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_CUDA=ON -D CUDA_ARCH_BIN=8.2 -D CUDA_ARCH_PTX="" -D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON .. make -j8 sudo make install ``` 请注意,我们在cmake命令中启用了CUDA和cuDNN支持,并指定了CUDA架构版本为8.2。您应该根据您的GPU型号和CUDA版本进行相应的更改。 3. 编写和编译OpenCV C++程序 现在,您可以编写和编译OpenCV C++程序。在编写代码时,请确保使用OpenCV CUDA模块中的函数,例如cv::cuda::GpuMat。在编译代码时,您需要链接OpenCV CUDA模块和CUDA库。以下是一个简单的示例程序: ``` #include <opencv2/opencv.hpp> #include <opencv2/cudaarithm.hpp> #include <opencv2/cudaimgproc.hpp> int main() { cv::Mat image = cv::imread("image.jpg"); cv::cuda::GpuMat gpuImage; gpuImage.upload(image); cv::cuda::GpuMat gpuGrayImage; cv::cuda::cvtColor(gpuImage, gpuGrayImage, cv::COLOR_BGR2GRAY); cv::Mat grayImage; gpuGrayImage.download(grayImage); cv::imshow("Gray Image", grayImage); cv::waitKey(); return 0; } ``` 您可以使用以下命令编译程序: ``` g++ -o program program.cpp `pkg-config opencv4 --cflags --libs` -L/usr/local/cuda/lib64 -lcudart ``` 请注意,我们使用pkg-config命令来获取OpenCV编译选项,并链接CUDA库。您应该根据您的系统进行相应的更改。 希望这可以帮助您在RK3588 Debian 11上编译和运行OpenCV C++程序并使用GPU加速

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值