如何从二维数组(即结构张量场)计算结构张量?
我无法弄清楚我在实施中做错了什么。在我的例子中,二维数组是一个二维灰度图像,这里是我使用 C++ 和 Eigen 所做的一般概述:
// the 2D grey-scale image, represented by a 2D array of doubles
ArrayXXd img;
// compute the gradient vector field, which produces a 2D array of 2D vectors
typedef Array<Vector2d, Dynamic, Dynamic> ArrayXXv2;
ArrayXXv2 g = gvf(img);
// compute the outer-product of each element in g to get a 2x2 matrix, e.g.,
Matrix<double, 2, 2> st00 = g(0,0) * g(0,0).transpose();
st00 现在是 img(0,0) 的结构张量,不是吗?