renamed gpuoptflow -> cudaoptflow
This commit is contained in:
9
modules/cudaoptflow/CMakeLists.txt
Normal file
9
modules/cudaoptflow/CMakeLists.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
if(ANDROID OR IOS)
|
||||||
|
ocv_module_disable(cudaoptflow)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
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)
|
@@ -40,11 +40,11 @@
|
|||||||
//
|
//
|
||||||
//M*/
|
//M*/
|
||||||
|
|
||||||
#ifndef __OPENCV_GPUOPTFLOW_HPP__
|
#ifndef __OPENCV_CUDAOPTFLOW_HPP__
|
||||||
#define __OPENCV_GPUOPTFLOW_HPP__
|
#define __OPENCV_CUDAOPTFLOW_HPP__
|
||||||
|
|
||||||
#ifndef __cplusplus
|
#ifndef __cplusplus
|
||||||
# error gpuoptflow.hpp header must be compiled as C++
|
# error cudaoptflow.hpp header must be compiled as C++
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "opencv2/core/cuda.hpp"
|
#include "opencv2/core/cuda.hpp"
|
||||||
@@ -308,4 +308,4 @@ CV_EXPORTS void createOpticalFlowNeedleMap(const GpuMat& u, const GpuMat& v, Gpu
|
|||||||
|
|
||||||
}} // namespace cv { namespace cuda {
|
}} // namespace cv { namespace cuda {
|
||||||
|
|
||||||
#endif /* __OPENCV_GPUOPTFLOW_HPP__ */
|
#endif /* __OPENCV_CUDAOPTFLOW_HPP__ */
|
@@ -44,4 +44,4 @@
|
|||||||
|
|
||||||
using namespace perf;
|
using namespace perf;
|
||||||
|
|
||||||
CV_PERF_TEST_CUDA_MAIN(gpuoptflow)
|
CV_PERF_TEST_CUDA_MAIN(cudaoptflow)
|
@@ -54,7 +54,7 @@
|
|||||||
#include "opencv2/ts.hpp"
|
#include "opencv2/ts.hpp"
|
||||||
#include "opencv2/ts/gpu_perf.hpp"
|
#include "opencv2/ts/gpu_perf.hpp"
|
||||||
|
|
||||||
#include "opencv2/gpuoptflow.hpp"
|
#include "opencv2/cudaoptflow.hpp"
|
||||||
#include "opencv2/video.hpp"
|
#include "opencv2/video.hpp"
|
||||||
|
|
||||||
#ifdef GTEST_CREATE_SHARED_LIBRARY
|
#ifdef GTEST_CREATE_SHARED_LIBRARY
|
@@ -45,7 +45,7 @@
|
|||||||
|
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
#include "opencv2/gpuoptflow.hpp"
|
#include "opencv2/cudaoptflow.hpp"
|
||||||
#include "opencv2/cudaarithm.hpp"
|
#include "opencv2/cudaarithm.hpp"
|
||||||
#include "opencv2/cudawarping.hpp"
|
#include "opencv2/cudawarping.hpp"
|
||||||
#include "opencv2/cudaimgproc.hpp"
|
#include "opencv2/cudaimgproc.hpp"
|
@@ -56,7 +56,7 @@
|
|||||||
#include "opencv2/ts.hpp"
|
#include "opencv2/ts.hpp"
|
||||||
#include "opencv2/ts/gpu_test.hpp"
|
#include "opencv2/ts/gpu_test.hpp"
|
||||||
|
|
||||||
#include "opencv2/gpuoptflow.hpp"
|
#include "opencv2/cudaoptflow.hpp"
|
||||||
#include "opencv2/video.hpp"
|
#include "opencv2/video.hpp"
|
||||||
|
|
||||||
#include "cvconfig.h"
|
#include "cvconfig.h"
|
@@ -1,9 +0,0 @@
|
|||||||
if(ANDROID OR IOS)
|
|
||||||
ocv_module_disable(gpuoptflow)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(the_description "GPU-accelerated Optical Flow")
|
|
||||||
|
|
||||||
ocv_warnings_disable(CMAKE_CXX_FLAGS /wd4127 /wd4324 /wd4512 -Wundef -Wmissing-declarations)
|
|
||||||
|
|
||||||
ocv_define_module(gpuoptflow opencv_video opencv_legacy opencv_cudaarithm opencv_cudawarping opencv_cudaimgproc OPTIONAL opencv_cudalegacy)
|
|
@@ -6,4 +6,4 @@ set(the_description "Super Resolution")
|
|||||||
ocv_warnings_disable(CMAKE_CXX_FLAGS /wd4127 -Wundef)
|
ocv_warnings_disable(CMAKE_CXX_FLAGS /wd4127 -Wundef)
|
||||||
ocv_define_module(superres opencv_imgproc opencv_video
|
ocv_define_module(superres opencv_imgproc opencv_video
|
||||||
OPTIONAL opencv_highgui opencv_ocl
|
OPTIONAL opencv_highgui opencv_ocl
|
||||||
opencv_cudaarithm opencv_cudafilters opencv_cudawarping opencv_cudaimgproc opencv_gpuoptflow opencv_cudacodec)
|
opencv_cudaarithm opencv_cudafilters opencv_cudawarping opencv_cudaimgproc opencv_cudaoptflow opencv_cudacodec)
|
||||||
|
@@ -267,7 +267,7 @@ namespace
|
|||||||
blurKernelSize_ = 5;
|
blurKernelSize_ = 5;
|
||||||
blurSigma_ = 0.0;
|
blurSigma_ = 0.0;
|
||||||
|
|
||||||
#ifdef HAVE_OPENCV_GPUOPTFLOW
|
#ifdef HAVE_OPENCV_CUDAOPTFLOW
|
||||||
opticalFlow_ = createOptFlow_Farneback_GPU();
|
opticalFlow_ = createOptFlow_Farneback_GPU();
|
||||||
#else
|
#else
|
||||||
opticalFlow_ = createOptFlow_Farneback();
|
opticalFlow_ = createOptFlow_Farneback();
|
||||||
|
@@ -343,7 +343,7 @@ Ptr<DenseOpticalFlowExt> cv::superres::createOptFlow_DualTVL1()
|
|||||||
///////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////
|
||||||
// GpuOpticalFlow
|
// GpuOpticalFlow
|
||||||
|
|
||||||
#ifndef HAVE_OPENCV_GPUOPTFLOW
|
#ifndef HAVE_OPENCV_CUDAOPTFLOW
|
||||||
|
|
||||||
Ptr<DenseOpticalFlowExt> cv::superres::createOptFlow_Farneback_GPU()
|
Ptr<DenseOpticalFlowExt> cv::superres::createOptFlow_Farneback_GPU()
|
||||||
{
|
{
|
||||||
@@ -369,7 +369,7 @@ Ptr<DenseOpticalFlowExt> cv::superres::createOptFlow_PyrLK_GPU()
|
|||||||
return Ptr<DenseOpticalFlowExt>();
|
return Ptr<DenseOpticalFlowExt>();
|
||||||
}
|
}
|
||||||
|
|
||||||
#else // HAVE_OPENCV_GPUOPTFLOW
|
#else // HAVE_OPENCV_CUDAOPTFLOW
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
@@ -717,7 +717,7 @@ Ptr<DenseOpticalFlowExt> cv::superres::createOptFlow_DualTVL1_GPU()
|
|||||||
return new DualTVL1_GPU;
|
return new DualTVL1_GPU;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // HAVE_OPENCV_GPUOPTFLOW
|
#endif // HAVE_OPENCV_CUDAOPTFLOW
|
||||||
#ifdef HAVE_OPENCV_OCL
|
#ifdef HAVE_OPENCV_OCL
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
|
@@ -73,8 +73,8 @@
|
|||||||
# include "opencv2/cudaimgproc.hpp"
|
# include "opencv2/cudaimgproc.hpp"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_OPENCV_GPUOPTFLOW
|
#ifdef HAVE_OPENCV_CUDAOPTFLOW
|
||||||
# include "opencv2/gpuoptflow.hpp"
|
# include "opencv2/cudaoptflow.hpp"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_OPENCV_CUDACODEC
|
#ifdef HAVE_OPENCV_CUDACODEC
|
||||||
|
@@ -1,3 +1,3 @@
|
|||||||
set(the_description "Video stabilization")
|
set(the_description "Video stabilization")
|
||||||
ocv_define_module(videostab opencv_imgproc opencv_features2d opencv_video opencv_photo opencv_calib3d
|
ocv_define_module(videostab opencv_imgproc opencv_features2d opencv_video opencv_photo opencv_calib3d
|
||||||
OPTIONAL opencv_gpu opencv_cudawarping opencv_gpuoptflow opencv_highgui)
|
OPTIONAL opencv_gpu opencv_cudawarping opencv_cudaoptflow opencv_highgui)
|
||||||
|
@@ -199,7 +199,7 @@ private:
|
|||||||
std::vector<Point2f> pointsPrevGood_, pointsGood_;
|
std::vector<Point2f> pointsPrevGood_, pointsGood_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(HAVE_OPENCV_CUDAIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_GPUOPTFLOW)
|
#if defined(HAVE_OPENCV_CUDAIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_CUDAOPTFLOW)
|
||||||
|
|
||||||
class CV_EXPORTS KeypointBasedMotionEstimatorGpu : public ImageMotionEstimatorBase
|
class CV_EXPORTS KeypointBasedMotionEstimatorGpu : public ImageMotionEstimatorBase
|
||||||
{
|
{
|
||||||
@@ -230,7 +230,7 @@ private:
|
|||||||
std::vector<uchar> rejectionStatus_;
|
std::vector<uchar> rejectionStatus_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // defined(HAVE_OPENCV_CUDAIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_GPUOPTFLOW)
|
#endif // defined(HAVE_OPENCV_CUDAIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_CUDAOPTFLOW)
|
||||||
|
|
||||||
CV_EXPORTS Mat getMotion(int from, int to, const std::vector<Mat> &motions);
|
CV_EXPORTS Mat getMotion(int from, int to, const std::vector<Mat> &motions);
|
||||||
|
|
||||||
|
@@ -46,8 +46,8 @@
|
|||||||
#include "opencv2/core.hpp"
|
#include "opencv2/core.hpp"
|
||||||
#include "opencv2/opencv_modules.hpp"
|
#include "opencv2/opencv_modules.hpp"
|
||||||
|
|
||||||
#ifdef HAVE_OPENCV_GPUOPTFLOW
|
#ifdef HAVE_OPENCV_CUDAOPTFLOW
|
||||||
#include "opencv2/gpuoptflow.hpp"
|
#include "opencv2/cudaoptflow.hpp"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace cv
|
namespace cv
|
||||||
@@ -99,7 +99,7 @@ public:
|
|||||||
OutputArray status, OutputArray errors);
|
OutputArray status, OutputArray errors);
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef HAVE_OPENCV_GPUOPTFLOW
|
#ifdef HAVE_OPENCV_CUDAOPTFLOW
|
||||||
|
|
||||||
class CV_EXPORTS SparsePyrLkOptFlowEstimatorGpu
|
class CV_EXPORTS SparsePyrLkOptFlowEstimatorGpu
|
||||||
: public PyrLkOptFlowEstimatorBase, public ISparseOptFlowEstimator
|
: public PyrLkOptFlowEstimatorBase, public ISparseOptFlowEstimator
|
||||||
|
@@ -737,7 +737,7 @@ Mat KeypointBasedMotionEstimator::estimate(const Mat &frame0, const Mat &frame1,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if defined(HAVE_OPENCV_CUDAIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_GPUOPTFLOW)
|
#if defined(HAVE_OPENCV_CUDAIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_CUDAOPTFLOW)
|
||||||
|
|
||||||
KeypointBasedMotionEstimatorGpu::KeypointBasedMotionEstimatorGpu(Ptr<MotionEstimatorBase> estimator)
|
KeypointBasedMotionEstimatorGpu::KeypointBasedMotionEstimatorGpu(Ptr<MotionEstimatorBase> estimator)
|
||||||
: ImageMotionEstimatorBase(estimator->motionModel()), motionEstimator_(estimator)
|
: ImageMotionEstimatorBase(estimator->motionModel()), motionEstimator_(estimator)
|
||||||
@@ -812,7 +812,7 @@ Mat KeypointBasedMotionEstimatorGpu::estimate(const cuda::GpuMat &frame0, const
|
|||||||
return motionEstimator_->estimate(hostPointsPrev_, hostPoints_, ok);
|
return motionEstimator_->estimate(hostPointsPrev_, hostPoints_, ok);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // defined(HAVE_OPENCV_CUDAIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_GPUOPTFLOW)
|
#endif // defined(HAVE_OPENCV_CUDAIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_CUDAOPTFLOW)
|
||||||
|
|
||||||
|
|
||||||
Mat getMotion(int from, int to, const std::vector<Mat> &motions)
|
Mat getMotion(int from, int to, const std::vector<Mat> &motions)
|
||||||
|
@@ -323,7 +323,7 @@ public:
|
|||||||
|
|
||||||
MotionInpainter::MotionInpainter()
|
MotionInpainter::MotionInpainter()
|
||||||
{
|
{
|
||||||
#ifdef HAVE_OPENCV_GPUOPTFLOW
|
#ifdef HAVE_OPENCV_CUDAOPTFLOW
|
||||||
setOptFlowEstimator(new DensePyrLkOptFlowEstimatorGpu());
|
setOptFlowEstimator(new DensePyrLkOptFlowEstimatorGpu());
|
||||||
#else
|
#else
|
||||||
CV_Error(Error::StsNotImplemented, "Current implementation of MotionInpainter requires GPU");
|
CV_Error(Error::StsNotImplemented, "Current implementation of MotionInpainter requires GPU");
|
||||||
|
@@ -58,7 +58,7 @@ void SparsePyrLkOptFlowEstimator::run(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_OPENCV_GPUOPTFLOW
|
#ifdef HAVE_OPENCV_CUDAOPTFLOW
|
||||||
|
|
||||||
SparsePyrLkOptFlowEstimatorGpu::SparsePyrLkOptFlowEstimatorGpu()
|
SparsePyrLkOptFlowEstimatorGpu::SparsePyrLkOptFlowEstimatorGpu()
|
||||||
{
|
{
|
||||||
@@ -135,7 +135,7 @@ void DensePyrLkOptFlowEstimatorGpu::run(
|
|||||||
flowY_.download(flowY.getMatRef());
|
flowY_.download(flowY.getMatRef());
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // HAVE_OPENCV_GPUOPTFLOW
|
#endif // HAVE_OPENCV_CUDAOPTFLOW
|
||||||
|
|
||||||
} // namespace videostab
|
} // namespace videostab
|
||||||
} // namespace cv
|
} // namespace cv
|
||||||
|
@@ -16,8 +16,8 @@ if(BUILD_EXAMPLES AND OCV_DEPENDENCIES_FOUND)
|
|||||||
ocv_include_directories("${OpenCV_SOURCE_DIR}/include")#for opencv.hpp
|
ocv_include_directories("${OpenCV_SOURCE_DIR}/include")#for opencv.hpp
|
||||||
ocv_include_modules(${OPENCV_CPP_SAMPLES_REQUIRED_DEPS})
|
ocv_include_modules(${OPENCV_CPP_SAMPLES_REQUIRED_DEPS})
|
||||||
|
|
||||||
if(HAVE_opencv_gpuoptflow)
|
if(HAVE_opencv_cudaoptflow)
|
||||||
ocv_include_directories("${OpenCV_SOURCE_DIR}/modules/gpuoptflow/include")
|
ocv_include_directories("${OpenCV_SOURCE_DIR}/modules/cudaoptflow/include")
|
||||||
endif()
|
endif()
|
||||||
if(HAVE_opencv_cudaimgproc)
|
if(HAVE_opencv_cudaimgproc)
|
||||||
ocv_include_directories("${OpenCV_SOURCE_DIR}/modules/cudaimgproc/include")
|
ocv_include_directories("${OpenCV_SOURCE_DIR}/modules/cudaimgproc/include")
|
||||||
|
@@ -216,7 +216,7 @@ public:
|
|||||||
outlierRejector = tblor;
|
outlierRejector = tblor;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(HAVE_OPENCV_CUDAIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_GPUOPTFLOW)
|
#if defined(HAVE_OPENCV_CUDAIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_CUDAOPTFLOW)
|
||||||
if (gpu)
|
if (gpu)
|
||||||
{
|
{
|
||||||
KeypointBasedMotionEstimatorGpu *kbest = new KeypointBasedMotionEstimatorGpu(est);
|
KeypointBasedMotionEstimatorGpu *kbest = new KeypointBasedMotionEstimatorGpu(est);
|
||||||
@@ -257,7 +257,7 @@ public:
|
|||||||
outlierRejector = tblor;
|
outlierRejector = tblor;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(HAVE_OPENCV_CUDAIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_GPUOPTFLOW)
|
#if defined(HAVE_OPENCV_CUDAIMGPROC) && defined(HAVE_OPENCV_GPU) && defined(HAVE_OPENCV_CUDAOPTFLOW)
|
||||||
if (gpu)
|
if (gpu)
|
||||||
{
|
{
|
||||||
KeypointBasedMotionEstimatorGpu *kbest = new KeypointBasedMotionEstimatorGpu(est);
|
KeypointBasedMotionEstimatorGpu *kbest = new KeypointBasedMotionEstimatorGpu(est);
|
||||||
|
@@ -3,7 +3,7 @@ SET(OPENCV_GPU_SAMPLES_REQUIRED_DEPS opencv_core opencv_flann opencv_imgproc ope
|
|||||||
opencv_calib3d opencv_legacy opencv_contrib opencv_gpu
|
opencv_calib3d opencv_legacy opencv_contrib opencv_gpu
|
||||||
opencv_nonfree opencv_softcascade opencv_superres
|
opencv_nonfree opencv_softcascade opencv_superres
|
||||||
opencv_cudaarithm opencv_cudafilters opencv_cudawarping opencv_cudaimgproc
|
opencv_cudaarithm opencv_cudafilters opencv_cudawarping opencv_cudaimgproc
|
||||||
opencv_gpufeatures2d opencv_gpuoptflow opencv_gpubgsegm
|
opencv_gpufeatures2d opencv_cudaoptflow opencv_gpubgsegm
|
||||||
opencv_cudastereo opencv_cudalegacy)
|
opencv_cudastereo opencv_cudalegacy)
|
||||||
|
|
||||||
ocv_check_dependencies(${OPENCV_GPU_SAMPLES_REQUIRED_DEPS})
|
ocv_check_dependencies(${OPENCV_GPU_SAMPLES_REQUIRED_DEPS})
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
#include "opencv2/core/utility.hpp"
|
#include "opencv2/core/utility.hpp"
|
||||||
#include "opencv2/highgui.hpp"
|
#include "opencv2/highgui.hpp"
|
||||||
#include "opencv2/imgproc.hpp"
|
#include "opencv2/imgproc.hpp"
|
||||||
#include "opencv2/gpuoptflow.hpp"
|
#include "opencv2/cudaoptflow.hpp"
|
||||||
#include "opencv2/cudaarithm.hpp"
|
#include "opencv2/cudaarithm.hpp"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
#include "opencv2/core/utility.hpp"
|
#include "opencv2/core/utility.hpp"
|
||||||
#include "opencv2/highgui.hpp"
|
#include "opencv2/highgui.hpp"
|
||||||
#include "opencv2/video.hpp"
|
#include "opencv2/video.hpp"
|
||||||
#include "opencv2/gpuoptflow.hpp"
|
#include "opencv2/cudaoptflow.hpp"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace cv;
|
using namespace cv;
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
#include "opencv2/core.hpp"
|
#include "opencv2/core.hpp"
|
||||||
#include <opencv2/core/utility.hpp>
|
#include <opencv2/core/utility.hpp>
|
||||||
#include "opencv2/highgui.hpp"
|
#include "opencv2/highgui.hpp"
|
||||||
#include "opencv2/gpuoptflow.hpp"
|
#include "opencv2/cudaoptflow.hpp"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace cv;
|
using namespace cv;
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
#include "opencv2/cudawarping.hpp"
|
#include "opencv2/cudawarping.hpp"
|
||||||
#include "opencv2/gpufeatures2d.hpp"
|
#include "opencv2/gpufeatures2d.hpp"
|
||||||
#include "opencv2/cudafilters.hpp"
|
#include "opencv2/cudafilters.hpp"
|
||||||
#include "opencv2/gpuoptflow.hpp"
|
#include "opencv2/cudaoptflow.hpp"
|
||||||
#include "opencv2/gpubgsegm.hpp"
|
#include "opencv2/gpubgsegm.hpp"
|
||||||
|
|
||||||
#include "opencv2/legacy.hpp"
|
#include "opencv2/legacy.hpp"
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
#include "opencv2/imgproc.hpp"
|
#include "opencv2/imgproc.hpp"
|
||||||
#include "opencv2/highgui.hpp"
|
#include "opencv2/highgui.hpp"
|
||||||
#include "opencv2/video.hpp"
|
#include "opencv2/video.hpp"
|
||||||
#include "opencv2/gpuoptflow.hpp"
|
#include "opencv2/cudaoptflow.hpp"
|
||||||
#include "opencv2/cudaimgproc.hpp"
|
#include "opencv2/cudaimgproc.hpp"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
Reference in New Issue
Block a user