【发布时间】:2014-09-11 20:35:21
【问题描述】:
我想知道如何将矩阵作为可选参数传递给函数。如果未给出参数,则将其设置为单位矩阵。
如果我这样做
Mat function(const Mat &I, Mat &matrix=Mat::eye(2, 3, CV_32F))
{
/// some code
return matrix;
}
然后我收到以下错误:
错误:无法从 ‘cv::MatExpr’ 到 ‘cv::Mat&’
提前感谢您的任何建议。
【问题讨论】:
-
一定要通过引用吗?为什么要通过引用传递?
-
不,我没有。我只是想在参数中传递矩阵,修改它,然后返回它。
-
所以我猜只删除
&应该可以工作。 -
很遗憾没有。我收到以下错误:
error: default argument given for parameter 3 of ‘cv::Mat tMatch_lk(const cv::Mat&, const cv::Mat&, cv::Mat)’。我在 64 位 Ubuntu 14.04 上。 -
你是否在header和cpp文件中都添加了默认值?