cvApproxPoly函数出错

时间:2011-09-21 12:33:53

标签: c++ opencv argument-passing

我有以下代码片段:

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 *

1 个答案:

答案 0 :(得分:1)

根据this post,如果没有为您传入的序列设置cvApproxPoly标记,则CV_SEQ_POLYLINE会出错。请尝试将该标记添加到cvCreateSeq