removed legacy from cmake dependency
removed legacy tests in cudaoptflow
This commit is contained in:
		@@ -6,4 +6,4 @@ set(the_description "CUDA-accelerated Optical Flow")
 | 
			
		||||
 | 
			
		||||
ocv_warnings_disable(CMAKE_CXX_FLAGS /wd4127 /wd4324 /wd4512 -Wundef -Wmissing-declarations)
 | 
			
		||||
 | 
			
		||||
ocv_define_module(cudaoptflow opencv_video opencv_legacy opencv_cudaarithm opencv_cudawarping opencv_cudaimgproc OPTIONAL opencv_cudalegacy)
 | 
			
		||||
ocv_define_module(cudaoptflow opencv_video opencv_cudaarithm opencv_cudawarping opencv_cudaimgproc OPTIONAL opencv_cudalegacy)
 | 
			
		||||
 
 | 
			
		||||
@@ -386,64 +386,6 @@ PERF_TEST_P(ImagePair, OpticalFlowDual_TVL1,
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//////////////////////////////////////////////////////
 | 
			
		||||
// OpticalFlowBM
 | 
			
		||||
 | 
			
		||||
void calcOpticalFlowBM(const cv::Mat& prev, const cv::Mat& curr,
 | 
			
		||||
                       cv::Size bSize, cv::Size shiftSize, cv::Size maxRange, int usePrevious,
 | 
			
		||||
                       cv::Mat& velx, cv::Mat& vely)
 | 
			
		||||
{
 | 
			
		||||
    cv::Size sz((curr.cols - bSize.width + shiftSize.width)/shiftSize.width, (curr.rows - bSize.height + shiftSize.height)/shiftSize.height);
 | 
			
		||||
 | 
			
		||||
    velx.create(sz, CV_32FC1);
 | 
			
		||||
    vely.create(sz, CV_32FC1);
 | 
			
		||||
 | 
			
		||||
    CvMat cvprev = prev;
 | 
			
		||||
    CvMat cvcurr = curr;
 | 
			
		||||
 | 
			
		||||
    CvMat cvvelx = velx;
 | 
			
		||||
    CvMat cvvely = vely;
 | 
			
		||||
 | 
			
		||||
    cvCalcOpticalFlowBM(&cvprev, &cvcurr, bSize, shiftSize, maxRange, usePrevious, &cvvelx, &cvvely);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
PERF_TEST_P(ImagePair, OpticalFlowBM,
 | 
			
		||||
            Values<pair_string>(make_pair("gpu/opticalflow/frame0.png", "gpu/opticalflow/frame1.png")))
 | 
			
		||||
{
 | 
			
		||||
    declare.time(400);
 | 
			
		||||
 | 
			
		||||
    const cv::Mat frame0 = readImage(GetParam().first, cv::IMREAD_GRAYSCALE);
 | 
			
		||||
    ASSERT_FALSE(frame0.empty());
 | 
			
		||||
 | 
			
		||||
    const cv::Mat frame1 = readImage(GetParam().second, cv::IMREAD_GRAYSCALE);
 | 
			
		||||
    ASSERT_FALSE(frame1.empty());
 | 
			
		||||
 | 
			
		||||
    const cv::Size block_size(16, 16);
 | 
			
		||||
    const cv::Size shift_size(1, 1);
 | 
			
		||||
    const cv::Size max_range(16, 16);
 | 
			
		||||
 | 
			
		||||
    if (PERF_RUN_CUDA())
 | 
			
		||||
    {
 | 
			
		||||
        const cv::cuda::GpuMat d_frame0(frame0);
 | 
			
		||||
        const cv::cuda::GpuMat d_frame1(frame1);
 | 
			
		||||
        cv::cuda::GpuMat u, v, buf;
 | 
			
		||||
 | 
			
		||||
        TEST_CYCLE() cv::cuda::calcOpticalFlowBM(d_frame0, d_frame1, block_size, shift_size, max_range, false, u, v, buf);
 | 
			
		||||
 | 
			
		||||
        CUDA_SANITY_CHECK(u);
 | 
			
		||||
        CUDA_SANITY_CHECK(v);
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        cv::Mat u, v;
 | 
			
		||||
 | 
			
		||||
        TEST_CYCLE() calcOpticalFlowBM(frame0, frame1, block_size, shift_size, max_range, false, u, v);
 | 
			
		||||
 | 
			
		||||
        CPU_SANITY_CHECK(u);
 | 
			
		||||
        CPU_SANITY_CHECK(v);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
PERF_TEST_P(ImagePair, DISABLED_FastOpticalFlowBM,
 | 
			
		||||
            Values<pair_string>(make_pair("gpu/opticalflow/frame0.png", "gpu/opticalflow/frame1.png")))
 | 
			
		||||
{
 | 
			
		||||
 
 | 
			
		||||
@@ -370,64 +370,6 @@ INSTANTIATE_TEST_CASE_P(CUDA_OptFlow, OpticalFlowDual_TVL1, testing::Combine(
 | 
			
		||||
    ALL_DEVICES,
 | 
			
		||||
    WHOLE_SUBMAT));
 | 
			
		||||
 | 
			
		||||
//////////////////////////////////////////////////////
 | 
			
		||||
// OpticalFlowBM
 | 
			
		||||
 | 
			
		||||
namespace
 | 
			
		||||
{
 | 
			
		||||
    void calcOpticalFlowBM(const cv::Mat& prev, const cv::Mat& curr,
 | 
			
		||||
                           cv::Size bSize, cv::Size shiftSize, cv::Size maxRange, int usePrevious,
 | 
			
		||||
                           cv::Mat& velx, cv::Mat& vely)
 | 
			
		||||
    {
 | 
			
		||||
        cv::Size sz((curr.cols - bSize.width + shiftSize.width)/shiftSize.width, (curr.rows - bSize.height + shiftSize.height)/shiftSize.height);
 | 
			
		||||
 | 
			
		||||
        velx.create(sz, CV_32FC1);
 | 
			
		||||
        vely.create(sz, CV_32FC1);
 | 
			
		||||
 | 
			
		||||
        CvMat cvprev = prev;
 | 
			
		||||
        CvMat cvcurr = curr;
 | 
			
		||||
 | 
			
		||||
        CvMat cvvelx = velx;
 | 
			
		||||
        CvMat cvvely = vely;
 | 
			
		||||
 | 
			
		||||
        cvCalcOpticalFlowBM(&cvprev, &cvcurr, bSize, shiftSize, maxRange, usePrevious, &cvvelx, &cvvely);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
struct OpticalFlowBM : testing::TestWithParam<cv::cuda::DeviceInfo>
 | 
			
		||||
{
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
CUDA_TEST_P(OpticalFlowBM, Accuracy)
 | 
			
		||||
{
 | 
			
		||||
    cv::cuda::DeviceInfo devInfo = GetParam();
 | 
			
		||||
    cv::cuda::setDevice(devInfo.deviceID());
 | 
			
		||||
 | 
			
		||||
    cv::Mat frame0 = readImage("opticalflow/rubberwhale1.png", cv::IMREAD_GRAYSCALE);
 | 
			
		||||
    ASSERT_FALSE(frame0.empty());
 | 
			
		||||
    cv::resize(frame0, frame0, cv::Size(), 0.5, 0.5);
 | 
			
		||||
 | 
			
		||||
    cv::Mat frame1 = readImage("opticalflow/rubberwhale2.png", cv::IMREAD_GRAYSCALE);
 | 
			
		||||
    ASSERT_FALSE(frame1.empty());
 | 
			
		||||
    cv::resize(frame1, frame1, cv::Size(), 0.5, 0.5);
 | 
			
		||||
 | 
			
		||||
    cv::Size block_size(8, 8);
 | 
			
		||||
    cv::Size shift_size(1, 1);
 | 
			
		||||
    cv::Size max_range(8, 8);
 | 
			
		||||
 | 
			
		||||
    cv::cuda::GpuMat d_velx, d_vely, buf;
 | 
			
		||||
    cv::cuda::calcOpticalFlowBM(loadMat(frame0), loadMat(frame1),
 | 
			
		||||
                               block_size, shift_size, max_range, false,
 | 
			
		||||
                               d_velx, d_vely, buf);
 | 
			
		||||
 | 
			
		||||
    cv::Mat velx, vely;
 | 
			
		||||
    calcOpticalFlowBM(frame0, frame1, block_size, shift_size, max_range, false, velx, vely);
 | 
			
		||||
 | 
			
		||||
    EXPECT_MAT_NEAR(velx, d_velx, 0);
 | 
			
		||||
    EXPECT_MAT_NEAR(vely, d_vely, 0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
INSTANTIATE_TEST_CASE_P(CUDA_OptFlow, OpticalFlowBM, ALL_DEVICES);
 | 
			
		||||
 | 
			
		||||
//////////////////////////////////////////////////////
 | 
			
		||||
// FastOpticalFlowBM
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user