使用CUDA的OpenCV中未定义的引用DisparityBilateralFilter

时间:2019-06-03 12:53:15

标签: c++ opencv

我是OpenCV和CUDA的初学者,对不起,如果这个问题很简单。 我已经安装了带有OpenCV 3.3.1的CUDA 9.0,并且正在使用Qt 5。

我尝试使用cuda :: DisparityBilaterFilter过滤视差图。不幸的是,它不起作用。

代码示例:

#include <iostream>
#include "opencv2/opencv.hpp"
#include "opencv2/ximgproc.hpp"
#include "opencv2/cudastereo.hpp"

using namespace cv;

int main()
{
    int nDisp = 64;
    int radius = 3;
    int iters = 1;
    Ptr<cuda::DisparityBilateralFilter>  pCudaBilFilter = cuda::createDisparityBilateralFilter(nDisp, radius, iters);

//    pCudaBilFilter->apply(DispMapInp, LeftImages, filteredDispMap);

    return 0;
}

我遇到了错误:

error: undefined reference to `cv::cuda::createDisparityBilateralFilter(int, int, int)'

其他OpenCV代码(例如StereoMatching)工作正常。我想念什么?我敢肯定这是一个愚蠢的错误。

谢谢。

1 个答案:

答案 0 :(得分:0)

现在自己解决。忘记将库-lopencv_cudastereo添加到我的.pro文件中。