歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

編譯OpenCV的GPU,利用CUDA加速

首先檢查自己的機器是否支持,否則都是白搭(只有NVIDIA的顯卡才支持,可在設備管理器中查看)

如果不用GPU,可以直接官網下載預編譯好的庫

環境:

1 VS2013

2 Opencv2.4.9

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

4 TBB

--------------------------------------分割線 --------------------------------------

Ubuntu 12.04 下 CUDA 編程 http://www.linuxidc.com/linux/2014-06/103056.htm

Ubuntu 12.04 安裝 CUDA-5.5  http://www.linuxidc.com/Linux/2013-10/91101.htm

Ubuntu 11.10 上安裝CUDA開發環境 http://www.linuxidc.com/Linux/2012-04/58913.htm

Fedora 15系統下配置CUDA環境 http://www.linuxidc.com/Linux/2011-12/49874.htm

Ubuntu 11.04 安裝 NVIDIA CUDA 4.0 RC2 http://www.linuxidc.com/Linux/2011-10/46304.htm

Linux Mint 13/Ubuntu 12.04 配置CUDA 4.2 & OpenCV 2.4.2 方法 http://www.linuxidc.com/Linux/2013-10/91102.htm

CUDA入門教程 http://www.linuxidc.com/Linux/2014-07/104328.htm

--------------------------------------分割線 --------------------------------------

--------------以下內容轉自網絡(加入了自己編譯時遇到的問題及解決方案)-----------------

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
    - 編譯時間很長。很長。

Copyright © Linux教程網 All Rights Reserved