安装cuda 6.5以与opencv 2.4.8 windows 8.1一起使用

时间:2015-01-15 03:50:57

标签: c++ opencv visual-studio-2012 cuda gpu

我正在尝试安装cuda工具包,以便我可以在opencv中使用gpu函数。我已经阅读了所有文档和Windows入门指南。我已经下载了CUDA 6.5工具包并进行了安装。我尝试运行此示例代码:

#include <iostream>
#include "opencv2/opencv.hpp"
#include "opencv2/gpu/gpu.hpp"

int main (int argc, char* argv[])
{
    try
    {
        cv::Mat src_host = cv::imread("file.png", CV_LOAD_IMAGE_GRAYSCALE);
        cv::gpu::GpuMat dst, src;
        src.upload(src_host);

        cv::gpu::threshold(src, dst, 128.0, 255.0, CV_THRESH_BINARY);

        cv::Mat result_host = dst;
        cv::imshow("Result", result_host);
        cv::waitKey();
    }
    catch(const cv::Exception& ex)
    {
        std::cout << "Error: " << ex.what() << std::endl;
    }
    return 0;
}

然而我收到链接器错误。稍微挖掘了我this question,建议包括C:\ opencv \ build \ gpu \ x86 ...库和二进制文件。 我的问题是我的opencv安装文件夹中不存在gpu文件夹。

再挖掘一下,我发现this暗示使用CMake。但它也需要SDK!首先,在nvidia网站上没有提到SDK。它在下载页面中不存在。所以我忽略了那部分,并按照列出的步骤,CMake找不到任何CUDA目录(尽管它们被安装在默认位置)。我手动定位它们,生成opencv解决方案,然后在visual studio中构建。现在这已经建成了#39;几个小时(VS说准备好了)。

构建它生成的openCV解决方案有什么意义?如何获取openCV的gpu文件夹。

2 个答案:

答案 0 :(得分:1)

如果你在opencv的build文件夹中看不到gpu文件夹,那就意味着你的opencv编译时没有gpu库,你必须使用opencv source和CMake构建opencv然后编译它。

你也可以看到这些链接:

https://initialneil.wordpress.com/2014/09/25/opencv-2-4-9-cuda-6-5-visual-studio-2013/

http://blog.csdn.net/JOE_FANNIE/article/details/50394892

答案 1 :(得分:1)

当您解压缩opencv时,它有一个名为source的文件夹。你应该用Cmake编译这个源代码。配置完成后检查WITH_CUDA选项。然后尝试从Release和Debug模式在VS中构建OpenCv.sln。