OpenCV 3d重建:编译错误模糊调用重载函数

时间:2013-04-23 16:09:11

标签: opencv 3d

我正在尝试使用OpenCV编译用于3d重建的示例代码,我收到以下错误(1)

您可以在此处找到源代码:https://sites.google.com/site/3drecon124/

错误列表

(1)错误C2668:'sqrt':对重载函数的模糊调用

(2)IntelliSense:重载函数“sqrt”的多个实例与参数列表

匹配

(3)智能感知:函数调用中的参数太少

1 个答案:

答案 0 :(得分:1)

我的建议是编译器无法选择适当的重载sqrt函数。

请尝试明确指定操作数的类型:

sqrt(double(T_pts[i].x*T_pts[i].x + T_pts[i].y*T_pts[i].y));
...
float scale=sqrt(2.0)/meandist.val[0];

而不是:

dist[i]=sqrt(T_pts[i].x*T_pts[i].x+T_pts[i].y*T_pts[i].y); // It won't hurt to specify operand type

float scale=sqrt(2)/meandist.val[0]; // here '2' has int type