【发布时间】:2011-12-14 15:06:00
【问题描述】:
有没有办法可以将 CvMat * 转换为 CvMat?我被困在必须使用 cvCloneMat() 克隆 CvMat 的地方的代码中。这给了我 CvMat *,因为我需要它作为 CvMat。
我已经尝试过取消引用的事情,但不知何故它不起作用。我正在编写一个抖动/最大外部,它有一个图像矩阵作为输入,一个矩阵作为输出。这是一段代码
//Convert input and output matrices to OpenCV matrices
cvJitter2CvMat(in_matrix, &source);
cvJitter2CvMat(out_matrix, &edges);
//Calculate threshold values
thresh1 = x->threshold - x->range;
thresh2 = x->threshold + x->range;
CLIP(thresh1,0,255);
CLIP(thresh2,0,255);
//calculate
//cvCanny( &source, &edges, thresh1, thresh2, 3 );
tempo = cvCloneMat(&source);
edges = (*tempo);
} else {
return JIT_ERR_INVALID_PTR;
}
出来: jit_object_method(out_matrix,gensym("lock"),out_savelock); jit_object_method(in_matrix,gensym("lock"),in_savelock); 返回错误; }
问题是当我使用“cvCanny()”而不是 cvCloneMat() 时,它可以工作。输出显示为视频流的边缘。但如果我使用 cvCloneMat(),它会显示一个空白图像。
【问题讨论】:
标签: opencv