Как работает cvSeqPush? - PullRequest
       7

Как работает cvSeqPush?

0 голосов
/ 16 января 2012

Я создаю приложение, в котором мне нужно нажать некоторый элемент в последовательности, я использую cvSeqPush, но я не получаю его второй аргумент const void * element, мне нужно нажать точку типа cvPoint.

Как это делается в C?

Ответы [ 2 ]

1 голос
/ 16 января 2012

Этот метод вызывается для передачи последовательности любых данных, которые у вас есть, но в вашем случае, как я полагаю, ваша последовательность сконфигурирована для хранения CvPoints, вам придется указывать на такие данные, чтобы иметь правильную программу.

CvPoint pnt = cvPoint(x,y);
cvSeqPush(srcSeq, (CvPoint *)&pnt);

Нечто подобное должно работать для вас, просто укажите некоторые данные, которые нужны последовательности. Если вам нужно что-то более конкретное для вашего случая, вы должны опубликовать код.

0 голосов
/ 06 сентября 2012

Необходимо добавить пару вещей: 1. вам нужно будет выделить память для хранения вашего srcSeq 2. освободить память, когда вы закончите с использованием srcSeq

CvMemStorage * srcSeq_storage = cvCreateMemStorage (0);

CvSeq * srcSeq = cvCreateSeq (0, sizeof (CvSeq), sizeof (CvPoint), srcSeq_storage);

// теперь поместите ваш точечный элемент в srcSeq

cvSeqPush (srcSeq, & pnt);

// не забудьте освободить память

cvReleaseMemStorage (& srcSeq_storage);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...