2

我是 cuda 的 opencv 新手。我使用 opencv2.4.6 和 CUDA4.2。我已经成功地用 cuda 编译了 opencv。当我使用代码时:

int cuda_count;
cudaError_t error = cudaGetDeviceCount( &cuda_count );

它返回cudaSuccesscuda_count=1 但是,当我使用代码时:

int num_devices = cv::gpu::getCudaEnabledDeviceCount();

为什么num_devices returns 0

我的完整代码是:

int main()
{

int num_devices = cv::gpu::getCudaEnabledDeviceCount();

    int cuda_count;
    cudaError_t error = cudaGetDeviceCount( &cuda_count );

    if(num_devices <=0 )
    {
        std::cerr << "no" << std::endl;
        return -1;
    }

    int enable_devivce_id = -1;
}
4

1 回答 1

1

你必须在没有 CUDA 支持的情况下编译 OpenCV

gpu::getCudaEnabledDeviceCount 返回已安装启用 CUDA 的设备的数量。

C++:int gpu::getCudaEnabledDeviceCount()

在调用任何其他 GPU 函数之前使用此函数。如果 OpenCV 在没有 GPU 支持的情况下编译,此函数返回 0。

于 2013-10-12T12:59:57.260 回答