我有以下代码:
cv::Mat data ( HEIGHT,WIDTH, CV_32SC1 );
cv::Mat means = cv::Mat::zeros (HEIGHT, WIDTH, CV_64FC1 );
int *dPtr = new int [HEIGHT*WIDTH];
dPtr = data.ptr<int>();
double *mPtr = new double [HEIGHT*WIDTH];
mPtr = means.ptr < double>();
for ( int i = 0; i < N; i ++)
{
for ( int j = 0; j < M; j ++ )
{
mPtr[ WIDTH * (i-1) + j ] += dPtr[ WIDTH * (i-1) + j ];
}
}
但程序在 for 循环内崩溃,我怀疑我是否超出了矩阵大小。但我想不通。有人可以帮我吗?先感谢您。
最佳答案
由于您的索引 i,j 以 0 开头,因此您应该在数组表达式 (i-1) 中省略 -1。
关于c++ - OpenCV:我是否超出了矩阵大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12726125/