【发布时间】:2013-02-05 22:14:25
【问题描述】:
如何将我对cvGetReal2D 的调用替换为cvmGet?
我有类似的功能
bool someFunction(CvPoint2D32f location, IplImage &image)
{
// code
z = cvGetReal2D(image, location.y, location.x);
// code
}
我正在尝试用 cvmGet 替换 cvGetReal2D,因为我读到它更快 - 但我是 OpenCV 的初学者(我正在修改其他人编写的代码)。
我每次都必须为每个点创建一个完整的CvMat 吗?在这种情况下,由于我无法更改传递IplImage 的事实...更改会使代码变慢,对吧?
CvMat* imageCopy = cvCreateMat(image.width, image.height, image.depth);
(我也见过像CV_32FC1 这样的常量 - 但我不知道如何选择)
那么,我要复制它吗?
cvCopy(image, imageCopy); // I hope this would copy the values
I tried - I get an exception...
它适用于多通道矩阵吗?我是否必须询问有多少个频道并对其进行迭代?
【问题讨论】:
标签: c++ windows optimization opencv