Спасибо, буду разбираться
Добавлено спустя 21 минуту 45 секунд:переработал, ошибок не выдает. Но контуры не рисует. Заранее спасибо, если укажите в чем ошибка и как ее исправить.
Код:
CvMemStorage* storage = cvCreateMemStorage(0);
//счетчик новых контуров
int counter = 0;
//новый набор контуров
CvSeq* sq_cards = cvCreateSeq( 0, sizeof(CvSeq), sizeof(CvSeq), storage );
while(contours)
{
//новый контур, который вставляется в набор контуров
CvSeq* sq_item = cvCreateSeq( 0, sizeof(CvSeq), sizeof(CvPoint), storage );
if((cvContourPerimeter(contours)<MAXPERIMETR)&&(cvContourPerimeter(contours)>MINPERIMETR))
{
for(int i = 0; i < contours->total; i++ )
{
//заносим точки в контур
cvSeqPush(sq_item,(CvSeq*)cvGetSeqElem(contours, i));
}
counter++;
//заносим в след элемент новый контур
sq_cards->h_next = sq_item;
//переходим к следующему элементу для следующего прохода цикла
sq_cards= sq_cards->h_next;
}
contours = (contours)->h_next;
}
cvDrawContours(img_gray,sq_cards,color_red,color_blue,100,line_width);
cvShowImage( g_wnd_name, img_gray );
cvWaitKey();
Добавлено спустя 49 минут 17 секунд:Необходимость в этом отпала. Стал использовать апроксимирующие прямоугольники