gpt4 book ai didi

函数 ConvexityDefects 中的 C++ OpenCv 错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:53:01 24 4
gpt4 key购买 nike

我已经阅读了帖子 herehere但他们没有解决我得到的错误。

我的代码

vector<Vec4i> defects;
vector<vector<int> >hull( contours.size() );
for (int i = 0; i < contours.size(); i++)
{
convexHull( contours[i], hull[i], false, false );
if(contours[i].size() > 3 )
convexityDefects(contours[i], hull[i], defects[i]);
}

根据上面的帖子,这应该行得通,但行不通。我仍然收到错误
错误:函数 convexityDefects 中的 (-215) hull.checkVector(1, CV_32S) > 2
我真的看不出这里有什么问题。

最佳答案

好吧,这个问题主要是因为一些奇怪的原因,我的轮廓太小以至于船体只是一条直线(意味着只由 2 个点组成)。所以错误是指船体 vector 的大小,而不是在其他帖子中,它似乎与 vector 类型有关。

所以,只需更换
if(轮廓[i].size() > 3 )if(船体[i].size() > 2 )工作正常。

关于函数 ConvexityDefects 中的 C++ OpenCv 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13725845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com