2010-02-11 77 views
1
下面

是一个非常简单的代码段,但我无法理解为什么它恶癖,可以请你告诉我是什么错误意味着:线扫描OpenCV的


CvSize iSize; 
iSize= cvGetSize(I1); 
CvLineIterator *iter ; 
CvPoint p1,p2; 
long *arrH = new long[iSize.height + 1]; 
long *arrV = new long [iSize.width + 1]; 




for(int i=0; i<=iSize.height;i++) 
{ 

    p1.y = i; p2.y=i; 
    p1.x = 0; p2.x=iSize.width; 

    arrH[i] =0; 
    int l = cvInitLineIterator(I1,p1,p2,iter,4,0); 
    for(int j=0;j<l;j++) 
    { 
     arrH[i]+=iter.ptr; 
     CV_NEXT_LINE_POINT(iter); 

    } 

    fprintf(f1,"%d \n",arrH[i]); 

} 

错误形式: '.ptr'的左边必须有class/struct/union 我该如何解决它们?

回答

3

我想这:

CvLineIterator *iter ; 

应该是:

CvLineIterator iter ; 

这:

cvInitLineIterator(I1,p1,p2,iter,4,0); 

应该是:

cvInitLineIterator(I1,p1,p2,&iter,4,0);