【发布时间】:2016-01-14 20:05:00
【问题描述】:
我正在尝试将 C++ opencv 脚本转换为 Java,但我一直遇到这条小线:Mat.data[x]。我检查了 Java 版本,我能找到的最接近的方法是 Mat.dataAddr()。看看它在下面代码中的使用方式:
for (i = 0 ; i < rows ; i++)
{ // average row by row
row = src.row(i);
mean = 0;
for (j = 0 ; j < row.cols ; j++)
{
// here is the method
mean + = row.data[j];
}
mean /= row.cols;
dist.data[i] = mean;
}
他们似乎正在尝试访问 Matrix 的索引,但他们尝试访问的是什么 column 和 row?
【问题讨论】:
-
为什么不直接将
src乘以一个填充有1.0 / cols的cols x 1矩阵? -
我的意思是:为什么要访问单个元素来计算平均值,为什么不将其作为矩阵乘法呢?
-
@AndyTurner 我只需要
row.data[j]的java翻译 -
@ChromeLanta 我只需要 row.data[j] 的 java 翻译——该行在 Java 中看起来(和所做)之间的明显区别是什么反对 C++?我没有看到。所以你是说如果你在 Java 程序中看到这个你会被难住:
row.data[j]?