當前位置:首頁 » 編程軟體 » cuda編譯opencv

cuda編譯opencv

發布時間: 2022-08-04 02:04:06

A. 如何結合OPENCV2.2 和 CUDA

這里假設CUDA已經裝好,但是估計裝好CUDA的人是沒有下載NPP的,就是這個: NVIDIA Performance Primitives (NPP) library下載地址:http://developer.nvidia.com/cuda-toolkit-32-downloads下載下來後解壓隨便到哪,就一個文件夾SDK然後開始配置opencv2.2, 勾選WITH_CUDA,點configure,這時候一般會找不到NPP,需要手動配置其路徑找到CUDA_NPP_LIBRARY_ROOT_DIR, 修改其路徑為NPP的根目錄,比如我為D:/SDK。 上面兩項:CUDA_NPP_INCLUDE和CUDA_NPP_LIBRARY不用手動指定,然後再點configure,這時候cmake就能找到NPP了,上面兩項也有了正確路徑。在Generate就OK了

接著就是標准步驟各種編譯最後opencv2.2中lib名字改了,轉自http://blog.csdn.net/sweetrryy/archive/2010/12/11/6069725.aspx<release>

opencv_calib3d220.lib
opencv_contrib220.lib
opencv_core220.lib
opencv_features2d220.lib
opencv_ffmpeg220.lib
opencv_flann220.lib
opencv_gpu220.lib
opencv_highgui220.lib
opencv_imgproc220.lib
opencv_legacy220.lib
opencv_ml220.lib
opencv_objdetect220.lib
opencv_ts220.lib
opencv_video220.lib

<debug>

opencv_calib3d220d.lib
opencv_contrib220d.lib
opencv_core220d.lib
opencv_features2d220d.lib
opencv_ffmpeg220d.lib
opencv_flann220d.lib
opencv_gpu220d.lib
opencv_highgui220d.lib
opencv_imgproc220d.lib
opencv_legacy220d.lib
opencv_ml220d.lib
opencv_objdetect220d.lib
opencv_ts220d.lib
opencv_video220d.lib

B. 如何在cuda中加入opencv函數庫

確定一下dgv_Data是否為當前畫面的對象,而不是父畫面的對象。 你提示的錯誤是執行代碼時由Catch截獲的還是你在監視窗口裡查看this.dgv_Data.Rows[i].Cells[0].Value.ToString()這句的值得時候看到的?如果是監視窗口裡看到的,有可能不是錯誤,

C. opencv支持cuda加速嗎

支持。編譯opencv的時候加上CUDA支持就可以了。

D. OpenCV+CUDA常式出錯,以及不懂到底編程代碼架構是什麼樣的

cu文件實現gpu內核函數的調用。cpp文件實現應用系統函數,其中調用cu中的文件。一般的c++函數可直接調用相關系統資源。而cuda不行,如在cpp中調用gpu、顯存等資源時,需要執行一系列相關資源的操作和制定相關參數,這個操作由cu文件完成。舉個例子:cpp文件需要實現加法運算,使用cpu時+操作已經被實現了,可以直接調用,使用的是cpu來進行加法計算。如果cpp要使用gpu來實現加法,需要在cu文件中實現+操作,再由cpp調用。其中cu中的+操作需要指定使用的gpu加法器,同時向顯存中拷貝兩個加數參數、返回後像內存中返回結果等等操作。

E. 如何用CUDA轉換並提速,用openCV編的一些關於矩陣的程序

這個你得自己想,並行都得用專用演算法,基本就是分割矩陣,然後
cudaMalloc
開辟顯存空間,cudaMemcpy
復制到顯存空間,執行設備端代碼
,cudaMemcpy
復制回結果。

F. 怎麼使用opencv的stitch進行cuda加速

做過相關實驗,其實opencv對於cuda的優化並不是特別好,也可能是我用的顯卡性能不行。實驗結果是並沒有比cpu快多少。opencv的cuda編程的程序,主要處理時間都浪費在從內存向顯存中拷貝數據以及從顯存向內存拷貝數據了。要想寫出高效的cuda程序,需要注意的東西很多。

G. cuda7.5 自帶opencv嗎

首先聲明,因為我需要用CUDA,所以需要用CUDA來重新編譯OpenCV的源文件。如果不用GPU,可以直接下載預編譯好的庫
- 接著,我不用OpenCV 3.0 是因為有些CUDA的文件不一樣了,如果想編譯OpenCV 3.0 + CUDA,過程跟下面是一樣的
2. 配置 CMAKE
打開 CMAKE
- 選擇 Source Folder 到 OpenCV 的源文件目錄
- 選擇 Output Folder
- 勾選 Advanced

H. 如何使用CUDA寫OpenCV自己的核函數

只了解一些SVM中的核函數,歡迎交流 SVM本身是線性分類器,使用了核函數後,相當於把原來的數據,映射到一個高維空間(在相對低維度的空間中難分類的樣本,很可能在映射到高維空間後用線性分類器就可以分開)。

I. opencv如何編譯cuda vs2010

一、生成項目文件
假設我們已經將OpenCV-2.4.0源代碼放到「C:\Program Files\OpenCV\src」目錄下,安裝完成cmake,並將ntel tbb可執行目錄添加到系統環境變數,並使變數生效,相關部分參考博文:使用OpenCV-2.4.0.exe文件編譯x86或x64平台Visual Studio2005/2008/2010目標文件。
運行cmake,如圖1所示,然後單擊「Where is the source code:」右側的「Browse Source」,瀏覽到「C:/ProgramFiles/OpenCV/src」文件夾,單擊「where to build the binaries:」右側的「Browse Build」,瀏覽到「C:/Program Files/OpenCV/vs2005」文件夾(vs2005文件夾是我自己創建的)。

然後單擊左下方的「Configure」按鈕,這時會彈出「cmake-gui」窗口,在「Specify the generator for this project」下拉菜單選擇「Visual Studio 8 2005」、「Usedefault native compilers」後,單擊「Finish」按鈕,如圖2所示。

完成以上操作後勾選「BUILD_EXAMPLES」、「CUDA_BUILD_CBUIN」、「CUDA_VERBOSE_BUILD」、「WITH_TBB」和「WITH_CUBLAS」 、「WITH_CUDA」,注意這里千萬不要勾選「CUDA_BUILD_EMULATION」選項,不然會報錯的,如下所示。
[plain] view plainprint?
01.CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Moles/FindCUDA.cmake:616 (message):
02. CUDA_BUILD_EMULATION is not supported in version 3.1 and onwards. You must
03. disable it to proceed. You have version 4.2.
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Moles/FindCUDA.cmake:616 (message):
CUDA_BUILD_EMULATION is not supported in version 3.1 and onwards. You must
disable it to proceed. You have version 4.2.
這是因為在從CUDA 4.0開始NPP(NVIDIA Performance Primitives library,英偉達基本性能庫)就是CUDA tookit的一部分面不再單獨提供了。
配置tbb相關目錄(包含目錄、可執行目錄和庫目錄),詳情參考本人博文:使用OpenCV-2.4.0.exe文件編譯x86或x64平台Visual Studio2005/2008/2010目標文件。這里不再贅述。
單擊「Configure」按鈕,所有紅色行已經變為白色,在下方的信息我們會看到如下信息:

[plain] view plainprint?
Other third-party libraries:
Use IPP: NO
Use TBB: YES (ver 4.0 interface 6004)
Use Cuda: YES (ver 4.2)
Use Eigen: NO

NVIDIA CUDA: (ver 4.2)
Use CUFFT: YES
Use CUBLAS: YES
NVIDIA GPU arch: 11 12 13 20 21
NVIDIA PTX archs: 11 12 13 20 21
NVIDIA GPU features: 11 12 13 20 20 20
Other third-party libraries:
Use IPP: NO
Use TBB: YES (ver 4.0 interface 6004)
Use Cuda: YES (ver 4.2)
Use Eigen: NO
NVIDIA CUDA: (ver 4.2)
Use CUFFT: YES
Use CUBLAS: YES
NVIDIA GPU arch: 11 12 13 20 21
NVIDIA PTX archs: 11 12 13 20 21
NVIDIA GPU features: 11 12 13 20 20 20
特別注意,有兩條為「Use TBB: YES (ver 4.0 interface 6004)」和「Use Cuda: YES (ver 4.2)」的字樣,證明我們已經將intel tbb和CUDA正確配置。
最後點擊Generate,下方的信息裡面會有一條為「Generating done」的字樣(如圖3所示),而且我們已經成功生成項目文件。

J. 如何安裝CUDA

首先驗證你是否有nvidia的顯卡(developer.nvidia.com/cuda-gpus這個網站查看你是否有支持gpu的顯卡):

[plain] view plain
$ lspci | grep -i nvidia

查看你的linux發行版本(主要是看是64位還是32位的):

[plain] view plain
$ uname -m && cat /etc/*release

看一下gcc的版本:

[plain] view plain
$ gcc --version
首先下載nvidia cuda的倉庫安裝包(我的是ubuntu 14.0464位,所以下載的是ubuntu14.04的安裝包,如果你是32位的可以參看具體的地址,具體的地址是https://developer.nvidia.com/cuda-downloads)

[plain] view plain
wget developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_6.5-14_amd64.deb

下載完成之後可以使用如下命令安裝它,注意文件名修改為cuda-repo-ubuntu1404_6.5-14_amd64.deb

[plain] view plain
sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb

安裝好倉庫之後,就可以更新你的本地倉庫。

[plain] view plain
sudo apt-get update

最後開始安裝cuda以及顯卡驅動(安裝cuda的同時就會把顯卡驅動也全部安裝好,這個真的很方便。但是下載的時間有點長。)

[plain] view plain
sudo apt-get install cuda

需要注意的是,我這里提供的安裝方法跟網路上各種安裝方法都不一樣,他們的方法往往很復雜

主要是因為:(1)有些教程是手工安裝顯卡的驅動程序,手工屏蔽系統的默認開源的驅動
(2)安裝cuda也是手工進行

使用這個方法的時候千萬要注意幾個問題:
(1)cuda6.5已經不支持老舊的顯卡了所以sm11 等等都必須刪除。可以參考我的另一個文章,關於編譯opencv3.0的
(2)ubuntu14.04是64位的,並且不要一開始就更新系統補丁什麼的,因為系統更新過之後,再安裝顯卡驅動就會無法進入圖形界面,我查看了相關的日誌發現是卡在了dbus那邊。所以,我建議一安裝好ubuntu 14.04就不要更新系統補丁。

安裝完之後你需要設置環境變數:

[plain] view plain
$ export PATH=/usr/local/cuda-6.5/bin:$PATH
$ export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH

設置完畢之後,你還可以選擇是否安裝cuda附帶的示例代碼(<dir>表示你要安裝的位置,你可以將<dir>替換成~):

[plain] view plain
$ cuda-install-samples-6.5.sh <dir>
接下來做一些驗證工作:

查看顯卡的驅動版本

[plain] view plain
cat /proc/driver/nvidia/version
查看nvcc編譯器的版本

[plain] view plain
nvcc -V i

編譯cuda的示例代碼:

[plain] view plain
cd ~/NVIDIA_CUDA-6.5_Samples
然後make一下編譯代碼。

進入bin路徑運行devicequery

[plain] view plain
cd ~/NVIDIA_CUDA-6.5_Samples/bin
[html] view plain
./ deviceQuery

具體的安裝過程可以參考英文。

http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/index.html

這里必須要強調的是一定要是新的ubuntu14.04 在安裝顯卡驅動之前千萬別更新,否則就無法進入桌面,這個問題困擾了我很久了。重裝了是十幾遍的系統。

這篇guide只是一些零散的安裝步驟以及給後來人對於cuda的一些坑上的提醒。

熱點內容
java至尊 發布:2025-02-09 08:03:23 瀏覽:558
pythonwith 發布:2025-02-09 08:00:25 瀏覽:172
Ftp打開文件是只讀模式 發布:2025-02-09 07:40:55 瀏覽:504
androidlistview點擊事件 發布:2025-02-09 07:25:52 瀏覽:171
targz解壓縮 發布:2025-02-09 06:59:19 瀏覽:311
wpsphp 發布:2025-02-09 06:58:41 瀏覽:962
視易鋒雲系統如何架設輔助伺服器 發布:2025-02-09 06:47:08 瀏覽:770
mysql備份腳本shell 發布:2025-02-09 06:46:33 瀏覽:15
騰訊雲伺服器怎樣調整解析度 發布:2025-02-09 06:46:30 瀏覽:369
php上一個頁面 發布:2025-02-09 06:41:25 瀏覽:490