cvApproxPoly 函数出错

发布于 2024-12-05 20:48:59 字数 531 浏览 2 评论 0原文

我有以下代码片段:

int count = (int)sizes.size();
CvPoint2D32f p;
CvSeq* seq = cvCreateSeq(CV_SEQ_KIND_GENERIC|CV_32FC2, sizeof(CvSeq), sizeof(CvPoint2D32f), memStorage1);
CvSeq* result;

for (int i=0;i<count;i++) {
    p.x = sizes[i];
    p.y = depths[i];
    cvSeqPush(seq, &p);
}

result = cvApproxPoly(seq, sizeof(CvPoint2D32f), memStorage2, CV_POLY_APPROX_DP, 3, 0);

但此代码引发异常:错误:cvApproxPoly 中的错误参数(不支持的序列类型) 我的代码有什么问题吗?在文档上,它说 cvApproxPoly 将第一个参数作为 CvSeq *

I have the following fragment of code:

int count = (int)sizes.size();
CvPoint2D32f p;
CvSeq* seq = cvCreateSeq(CV_SEQ_KIND_GENERIC|CV_32FC2, sizeof(CvSeq), sizeof(CvPoint2D32f), memStorage1);
CvSeq* result;

for (int i=0;i<count;i++) {
    p.x = sizes[i];
    p.y = depths[i];
    cvSeqPush(seq, &p);
}

result = cvApproxPoly(seq, sizeof(CvPoint2D32f), memStorage2, CV_POLY_APPROX_DP, 3, 0);

but this code throws exception: Error: Bad argument (Unsupported sequence type) in cvApproxPoly
what's wrong in my code? on documentation it says that cvApproxPoly takes first argument as CvSeq *

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

初与友歌 2024-12-12 20:48:59

根据这篇文章cvApproxPoly给出了如果未为传入的序列设置 CV_SEQ_POLYLINE 标志,则会出现错误。尝试将该标志添加到 cvCreateSeq 行中。

According to this post, cvApproxPoly gives an error when the CV_SEQ_POLYLINE flag isn't set for the sequence you pass in. Try adding that flag to your cvCreateSeq line.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文