#define DYNMEM_HPP
#include <cstdlib>
+#include <opencv2/opencv.hpp>
+#include <cassert>
#if defined(CUFFT) || defined(CUFFTW)
#include "cuda_runtime.h"
T *ptr_d = nullptr;
public:
+ typedef T type;
+
DynMem_()
{}
DynMem_(size_t size)
}
};
typedef DynMem_<float> DynMem;
+
+class MatDynMem : public DynMem, public cv::Mat {
+ public:
+ MatDynMem(cv::Size size, int type)
+ : DynMem(size.area() * sizeof(DynMem::type) * CV_MAT_CN(type)), cv::Mat(size, type, hostMem())
+ {
+ assert((type & CV_MAT_DEPTH_MASK) == CV_32F);
+ }
+ MatDynMem(int height, int width, int type) { MatDynMem(cv::Size(width, height), type); }
+};
+
#endif // DYNMEM_HPP