在OpenCV Mat :: t Documentation示例中引用的lambda是什么?

时间:2014-03-16 12:29:53

标签: c++ opencv

以下是此链接http://docs.opencv.org/modules/core/doc/basic_structures.html?highlight=mat%3A%3At#mat-t

中文档的使用方法
 Mat A1 = A + Mat::eye(A.size(), A.type)*lambda;
 Mat C = A1.t()*A1; // compute (A + lambda*I)^t * (A + lamda*I)

lambda是指一个名为“lambda”的通用数学函数,还是有一个名为lambda的实际“MatExpr”函数......如果是这样,我找不到它。我查看谷歌和Opencv文档没有命中...我刚刚发现数学(通常)lambda可以引用5个数学函数之一,在wolfram数学或lambda矩阵here

我尝试运行上面的例子并得到一些错误..我想运行这个例子,所以我可以更容易地进入更高的数学,因为我完全理解上面的例子中发生了什么,除了lambda部分。由于它与方程式相关联,因此获得此部分将有助于我在该领域中进行更多实验。任何人都可以帮助我运行它

2 个答案:

答案 0 :(得分:0)

lambda似乎只是一个标量因素。

imho,整个表达只是强调:

Mat::eye(A.size(), A.type())*lambda;

相当于:

I * lambda

试试你自己:

Mat A(3,3,CV_32F);
Mat I_mul_3 = Mat::eye(A.size(), A.type())*3;
cerr << I_mul_3 << endl;

[3, 0, 0;
 0, 3, 0;
 0, 0, 3]

但你是对的,那里有一个错字,应该是

Mat::eye(A.size(), A.type());

而不是:

Mat::eye(A.size(), A.type);

答案 1 :(得分:0)

当然可以肯定但它可以用作特征值。特征值和特征向量广泛用于矩阵运算。查看this视频和this维基百科页面。