cvSeqPush如何工作?

时间:2012-01-16 05:16:49

标签: c visual-c++ opencv

我正在创建一个应用程序,我需要在序列中推送一些元素,我正在使用cvSeqPush,但我没有得到它的第二个参数const void * element,我需要提出一个类型的点cvPoint

这是如何在C中完成的?

2 个答案:

答案 0 :(得分:1)

调用该方法可以按顺序推送序列,但在您的情况下,我猜您的序列配置为包含CvPoints,您必须指向那种数据以获得正确的程序。

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

这样的东西对你有用,只需指向序列需要的一些数据。 如果您需要更具体的案例,您应该发布一些代码。

答案 1 :(得分:0)

需要添加几件事: 1.你需要分配内存来存储你的srcSeq 2.使用srcSeq

完成后释放内存

CvMemStorage * srcSeq_storage = cvCreateMemStorage(0);

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

//现在将你的point元素推送到srcSeq

cvSeqPush(SRCSEQ,&安培; PNT);

//不要忘记发布内存

cvReleaseMemStorage(安培; srcSeq_storage);