首页 > 解决方案 > 错误:命名空间“cv::cuda”没有成员“resize”

问题描述

我已经成功地用WITH_CUDA=on. 但我仍然面临这个错误error: namespace "cv::cuda" has no member "resize"。奇怪的是,IDE 建议我在该命名空间中有一个调整大小的函数,但它在编译时失败。有谁知道如何解决这个问题?

#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/video/background_segm.hpp"
#include "opencv2/video/tracking.hpp"
#include "opencv2/cudev/ptr2d/gpumat.hpp"
#include "opencv2/cudev/ptr2d/resize.hpp"
#include "newfile.h"

using namespace cv;
using namespace std;

int test() {
    cv::Mat LoadedImage;
    cv::cuda::GpuMat Im;

    LoadedImage = imread("in.jpg", IMREAD_COLOR);
    Im.upload(LoadedImage);
    cv::cuda::resize(LoadedImage, LoadedImage, cv::Size(), 0.5, 0.5, cv::INTER_NEAREST);

    imwrite("Step4a.JPG", LoadedImage);
    return 0;
}

标签: c++opencv

解决方案


正如@john 指出的那样。我应该#include <opencv2/cudawarping.hpp>解决问题。


推荐阅读