我有以下代码片段:
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 *
答案 0 :(得分:1)
根据this post,如果没有为您传入的序列设置cvApproxPoly
标记,则CV_SEQ_POLYLINE
会出错。请尝试将该标记添加到cvCreateSeq
行