Здравствуйте.
У меня небольшая проблема - создаю контур cvSeq, а потом рисую его с помощью cvDrawContours, но ничего программа не рисует.
Вот код:
int main(int argc, char** argv)
{
IplImage* src;
const char* main_name = "Workspace";
src = cvCreateImage(cvSize( 400, 400), 8, 3);
cvZero(src);
CvScalar color = CV_RGB( 200,0,0);
CvMemStorage* storage = cvCreateMemStorage(0);
CvSeq* seq = cvCreateSeq( 0, sizeof(CvSeq), sizeof(CvPoint), storage );
CvSeqWriter writer;
//CvSeqReader reader;
int i;
cvStartAppendToSeq( seq, &writer );
CvPoint pt = cvPoint(20,20);
CV_WRITE_SEQ_ELEM( pt, writer );
printf("[%d,%d] is written\n", pt.x, pt.y );
pt = cvPoint(30,50);
CV_WRITE_SEQ_ELEM( pt, writer );
printf("[%d,%d] is written\n", pt.x, pt.y );
pt = cvPoint(50,60);
CV_WRITE_SEQ_ELEM( pt, writer );
printf("[%d,%d] is written\n", pt.x, pt.y );
pt = cvPoint(45,30);
CV_WRITE_SEQ_ELEM( pt, writer );
printf("[%d,%d] is written\n", pt.x, pt.y );
cvEndWriteSeq( &writer );
for (i = 0;i<4;i++)
{
CvPoint* pts = (CvPoint*) cvGetSeqElem(seq, i);
printf("[%d,%d] is read\n", pts->x, pts->y );
}
cvDrawContours( src, seq, color, color,0,3,8);
cvCircle( src, pt, 8, color,1,8,0);
cvNamedWindow( main_name, 1);
cvShowImage( main_name, src);
cvWaitKey(0);
return 0;
}[/codebox]