Ошибка в функции cvApproxPoly - PullRequest
       36

Ошибка в функции cvApproxPoly

0 голосов
/ 21 сентября 2011

У меня есть следующий фрагмент кода:

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 Ответ

1 голос
/ 21 сентября 2011

Согласно этому сообщению , cvApproxPoly выдает ошибку, когда флаг CV_SEQ_POLYLINE не установлен для последовательности, которую вы передаете. Попробуйте добавить этот флаг в вашу строку cvCreateSeq.

...