<<矩阵运算符

时间:2019-06-19 17:24:40

标签: c++

我看到一些使用<<Mat_进行矩阵运算的代码。

示例#A:

cv::Mat_<double> myMat_ = ( cv::Mat_<double>(3, 3) << 
    1.0, 2.0, 3.0,
    4.0, 5.0, 6.0,
    7.0, 8.0, 9.0);

示例#B:

cv::Mat myMat = (Mat_<float>(2,3)<<1,skew,-0.5*SZ*skew,0,1,0)
cv::Mat sampleMat = (Mat_<float>(1,2) << j,i);

<<在此代码中是什么意思?有人可以教育我一点吗?

1 个答案:

答案 0 :(得分:1)

这是以下操作的快捷方式:

cv::Mat_<double> myMat_(3, 3);

myMat_.at(0, 0) = 1.0;
myMat_.at(0, 1) = 2.0;
myMat_.at(0, 2) = 3.0;

myMat_.at(1, 0) = 4.0;
myMat_.at(1, 1) = 5.0;
myMat_.at(1, 2) = 6.0;

myMat_.at(2, 0) = 7.0;
myMat_.at(2, 1) = 8.0;
myMat_.at(2, 2) = 9.0;

<<,运算符被重载以实现该行为。