-1

我正在尝试在 opencv 中实现 HMM。首先,我创建双精度数组,并将它们复制到 Mat 变量中,

Mat INIT = Mat(0,3,CV_64F,trans).clone();

然后我试图从矩阵中访问单个像素/位置值:

cout << INIT.at<double>(r,c) << " ";//Where r and c are row and column values.

我收到如下错误:

 OpenCV Error: Assertion failed (dims <= 2 && data && (unsigned)i0 < (unsigned)si
ze.p[0] && (unsigned)(i1*DataType<_Tp>::channels) < (unsigned)(size.p[1]*channel
s()) && ((((sizeof(size_t)<<28)|0x8442211) >> ((DataType<_Tp>::depth) & ((1 << 3
) - 1))*4) & 15) == elemSize1()) in unknown function, file c:\opencv2.4.4\includ
e\opencv2\core\mat.hpp, line 537

我搜索了论坛,找不到代码有什么问题。有任何想法吗?提前非常感谢。

4

1 回答 1

1

将矩阵 INIT 声明为:-

Mat INIT=Mat(1,3,CV_64FC1,trans).clone();

现在访问矩阵中的各个像素/位置值,如下所示:

cout << INIT.at<double>(r,c) << " ";
于 2013-05-05T08:34:22.477 回答