error C2666: “cv::goodFeaturesToTrack”: 2 个重载有相似的转换

错误描述
error C2666: “cv::goodFeaturesToTrack”: 2 个重载有相似的转换

d:\opencv\build\include\opencv2\imgproc.hpp(1952): note: 可能是“void cv::goodFeaturesToTrack(cv::InputArray,cv::OutputArray,int,double,double,cv::InputArray,int,int,bool,double)”

1> d:\opencv\build\include\opencv2\imgproc.hpp(1947): note: 或 “void cv::goodFeaturesToTrack(cv::InputArray,cv::OutputArray,int,double,double,cv::InputArray,int,bool,double)”

问题分析
函数重载,参数列表不匹配。
报错代码为:goodFeaturesToTrack(gray, points[1], MAX_COUNT, 0.01, 10, Mat(), 3, 0, 0.04);
提示的参数列表为:cv::InputArray,cv::OutputArray,int,double,double,cv::InputArray,int,int,bool,double
比较一下,10应该为double,0应该为bool

解决方法
将10和0强制转换
goodFeaturesToTrack(gray, points[1], MAX_COUNT, 0.01, (double)10, Mat(), 3, (bool)0, 0.04);

小结
对于类似的重载问题,只需将不明确的参数在前面按照提示强制转换就行

猜你喜欢

转载自blog.csdn.net/maizousidemao/article/details/81450139