Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;指向OpenCV GpuMat的指针_C++_Opencv_Gpu - Fatal编程技术网

C++ C++;指向OpenCV GpuMat的指针

C++ C++;指向OpenCV GpuMat的指针,c++,opencv,gpu,C++,Opencv,Gpu,我在Win 8.1 64位机器上使用带VS2012 C++/CLI的OpenCV 3.0 我想知道创建GPUMAT的C++指针的正确方法是什么? 目前,我定义了一些指针,如: cuda::GpuMat *d_gpuLoadFrame; cuda::GpuMat *d_gpuLoadFrameClone; cuda::GpuMat *d_gpuAnalysisFrame; cuda::GpuMat *d_gpuGrayFrame; cuda::GpuMat *d_gpuMaskFrame; cud

我在Win 8.1 64位机器上使用带VS2012 C++/CLI的OpenCV 3.0

我想知道创建GPUMAT的C++指针的正确方法是什么? 目前,我定义了一些指针,如:

cuda::GpuMat *d_gpuLoadFrame;
cuda::GpuMat *d_gpuLoadFrameClone;
cuda::GpuMat *d_gpuAnalysisFrame;
cuda::GpuMat *d_gpuGrayFrame;
cuda::GpuMat *d_gpuMaskFrame;
cuda::GpuMat *d_gpuFalseMaskFrame;
然后我分配指针本身,如下所示:

d_gpuLoadFrame = new cuda::GpuMat();
d_gpuLoadFrameClone = new cuda::GpuMat();
d_gpuAnalysisFrame = new cuda::GpuMat();
d_gpuGrayFrame = new cuda::GpuMat();
d_gpuMaskFrame = new cuda::GpuMat();
d_gpuFalseMaskFrame = new cuda::GpuMat();
d_gputFrame = new cuda::GpuMat();
我看到一些奇怪的行为,让我觉得这可能是错误的。例如,我将标准的垫子上传到其中一些,并以各种方式克隆它们,看起来C++指针丢失了。p>
我是否需要做一些不同的事情来跟踪gpumat,以便在我从一个函数移动到另一个函数时它们不会被破坏?

没有必要以您显示的方式提供指针。只需在调用函数的实际参数中写入名称,就可以将GpuMat文件传递给函数。而在功能端,可以使用如下所示的参考来访问它:
GpuMat-abc;
foo(abc);
//在函数定义中
void foo(GpuMat&abc){…}