问题在于camera.cpp t * n(2)=(x(2) - optical_center); 问题是24:22:二进制表达式的操作数无效('Scalar'(又名'double')和'Eigen :: Vector3d'(又名'Matrix')) 我理解它可能与矢量缩放器的subratcion有关,有人可以帮忙吗?
const void Camera_::t_from_point(const Eigen::Vector3d &n,
Eigen::Vector3d &x ){
double t;
x(2) = 1;
t* n(2) = (x(2) - optical_center); // this line is the problem
}
答案 0 :(得分:1)
您的问题难以辨认,但从标题来看,我猜您正在寻找:
Vector3f v;
v << 1,2,3;
v.array() -= 1;
// v == [0 1 2]
见Eigen的array world。