1. 程式人生 > >OPENCV(opencv2和opencv3.3)用GPU加速

OPENCV(opencv2和opencv3.3)用GPU加速

OpenCV3.1 使用GPU及OpenCL加速的教程

OpenCV內部很多函式都已經實現了GPU加速, 新發布的OpenCV3.0版本很方便的解決了這個問題,只要你使用UMat即可。

cuda初始化需要時間,而且你傳入cuda也有時間。

首先你得說一下你是直接用的Cuda Runtime API/Cuda Driver API,還是用的OpenCV封裝的CUDA API

CUDA與OpenCV混合編譯:CUDA與OpenCV的混合編譯其實就是講.cu檔案與.c/.cpp檔案混合編譯

The OpenCV GPU module is a set of classes and functions to utilize GPU computational capabilities. 
It is implemented using NVIDIA* CUDA* Runtime API and supports only NVIDIA GPUs.


OPENCV用GPU加速的例子,是用cmake編譯opencv,勾選上with cuda
需要重新編譯opencv 的,最後getCudaEnabledDeviceCount(); 這個函式返回值大於零才行

// first.cpp : 定義控制檯應用程式的入口點。
 
#include "stdafx.h"
#include <iostream>
#include "opencv2/opencv.hpp"
#include "opencv2/gpu/gpu.hpp"
 
#pragma comment(lib,"opencv_gpu2410.lib")
#pragma comment(lib,"opencv_core2410.lib")
 
using namespace std; 
using namespace cv; 
using namespace cv::gpu;
int main()
{
    int i;
    try
    {
        cout << getCudaEnabledDeviceCount();
    }
    catch(const cv::Exception& ex)
    {    
            cout << "Error:" << ex.what() <<endl;
    }
    system("PAUSE");
    return 0;
}

OpenCV中GPU模組使用

VS2015+opencv3.3 GPU模組編譯(包含opencv_contrib模組)
轉:https://blog.csdn.net/mangobar/article/details/80459149