下面是一个非常简单的代码段,但是我无法理解为什么它在蠕动,请您告诉我该错误是什么意思:
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
我该如何解决?
最佳答案
我认为这:
CvLineIterator *iter ;
应该:
CvLineIterator iter ;
还有这个:
cvInitLineIterator(I1,p1,p2,iter,4,0);
应该:
cvInitLineIterator(I1,p1,p2,&iter,4,0);
关于image-processing - 线扫描openCV,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2242648/