本文整理汇总了C++中eigen::Ref::transpose方法的典型用法代码示例。如果您正苦于以下问题:C++ Ref::transpose方法的具体用法?C++ Ref::transpose怎么用?C++ Ref::transpose使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eigen::Ref
的用法示例。
在下文中一共展示了Ref::transpose方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
bool mrpt::vision::pnp::CPnP::so3(const Eigen::Ref<Eigen::MatrixXd> obj_pts, const Eigen::Ref<Eigen::MatrixXd> img_pts, int n, const Eigen::Ref<Eigen::MatrixXd> cam_intrinsic, Eigen::Ref<Eigen::MatrixXd> pose_mat)
{
try{
// Input 2d/3d correspondences and camera intrinsic matrix
Eigen::MatrixXd cam_in_eig,img_pts_eig, obj_pts_eig;
// Check for consistency of input matrix dimensions
if (img_pts.rows() != obj_pts.rows() || img_pts.cols() !=obj_pts.cols())
throw(2);
else if (cam_intrinsic.rows()!=3 || cam_intrinsic.cols()!=3)
throw(3);
if(obj_pts.rows() < obj_pts.cols())
{
cam_in_eig=cam_intrinsic.transpose();
img_pts_eig=img_pts.transpose().block(0,0,n,2);
obj_pts_eig=obj_pts.transpose();
}
else
{
cam_in_eig=cam_intrinsic;
img_pts_eig=img_pts.block(0,0,n,2);
obj_pts_eig=obj_pts;
}
// Output pose
Eigen::Matrix3d R;
Eigen::Vector3d t;
// Compute pose
mrpt::vision::pnp::p3p p(cam_in_eig);
p.solve(R,t, obj_pts_eig, img_pts_eig);
mrpt::vision::pnp::so3 s(obj_pts_eig, img_pts_eig, cam_in_eig, n);
bool ret = s.compute_pose(R,t);
Eigen::Quaterniond q(R);
pose_mat<<t,q.vec();
return ret;
}
catch(int e)
{
switch(e)
{
case 2: std::cout << "2d/3d correspondences mismatch\n Check dimension of obj_pts and img_pts" << std::endl;
case 3: std::cout << "Camera intrinsic matrix does not have 3x3 dimensions " << std::endl;
}
return false;
}
}
示例2:
void softmax<T>::compute_gradient(Eigen::Ref<const EigenMat> const &train,
Eigen::Ref<const EigenMat> const &weight,
Eigen::Ref<const EigenMat> const &ground_truth)
{
grad_.noalias() =
(ground_truth.array() - hypothesis_.array())
.matrix() * train.transpose();
auto const NSamples = static_cast<double>(train.cols());
grad_.array() = grad_.array() / -NSamples +
params_.lambda_ * weight.array();
}
示例3: rowwise
int softmax<T>::predict(Eigen::Ref<const EigenMat> const &input)
{
CV_Assert(input.cols() == 1);
compute_hypothesis(input, weight_);
probability_ = (hypothesis_ * input.transpose()).
rowwise().sum();
EigenMat::Index max_row = 0, max_col = 0;
probability_.maxCoeff(&max_row, &max_col);
return max_row;
}
示例4: jacobian
void jacobian(const Eigen::Ref<const Eigen::VectorXd> &x, Eigen::Ref<Eigen::MatrixXd> out) const override
{
out = x.transpose().normalized();
}