我在使用maxMaxLoc时遇到了一些麻烦,当我尝试将Point作为参考传递给max_Loc时,我得到了一个错误。环顾四周后,我发现了很多使用 double 代替点的人的例子,但事实并非如此。
这里的代码:
int ImageEvaluator::findPot()
{
Point max_Loc;
double max_Val;
while (true)
{
for (int j = 0; j < 12; j++)
{
cv::Mat compResult;
cv::matchTemplate(references[7], templates[7][j], compResult,
CV_TM_CCOEFF_NORMED);
cv::minMaxLoc(compResult, NULL, &max_Val, NULL, &max_Loc);
if (max_Val > minAcceptableValue)
{
std::cout << "Stand up and shout how the **** did that just work" << std::endl;
return joydivision;
}
}
}
}
错误C2665'cv::minMaxLoc':2个重载均不能转换所有参数类型
这是一个发现大量数字的小函数,我在python中运行得很好。我一改用c++,对我来说,上述一切都是不必要的错误。
感谢所有帮助。
谢谢
最佳答案
大家好,在挠挠头后,事实证明我的观点不正确。
更改后:
Point max_Loc;
进入:
cv::Point min_Loc(0,0),max_Loc(0,0);
它似乎奏效了。感谢您的所有帮助。 :)
关于c++ - minMaxLoc()OpenCV电视剧,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46481108/