我是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)工作正常。我想念什么?我敢肯定这是一个愚蠢的错误。
谢谢。
答案 0 :(得分:0)
现在自己解决。忘记将库-lopencv_cudastereo添加到我的.pro文件中。