我正在尝试使用一些使用旧版OpenCV(C),CvMat的代码......但是在c ++的上下文中
我找不到相应的cvPtr2D。
从
开始void some_function (const CvMat * src, CvMat * dst)
{
..
double * w = (double *) cvPtr2D(dst, dst->rows - 1, 0);
..
}
到
void some_function (const cv::Mat &src, cv::Mat &dst)
{
????
}
我尝试过像
这样的事情double * w =(double *)cv :: Ptr(dst,dst-> rows - 1,0);
或类似的东西?我得到编译错误,我甚至无法弄清楚Ptr是否做同样的事情......
cvPtr2D的c ++ OpenCV中的等价物是什么?
答案 0 :(得分:2)
在OpenCV的C ++界面中,很多函数都成为了成员函数,所以我认为你在寻找
void some_function (const cv::Mat &src, cv::Mat &dst)
{
..
int row_idx = dst.rows-1;
int col_idx = 0;
double * w = src.ptr<double>(row_idx)+col_idx;
..
}
答案 1 :(得分:1)
尝试
void some_function(const cv::Mat & src, cv::Mat & dst )
{
..
double * w = &dst.at<double>( dst->rows-1, 0 );
..
}