2008. 8. 19. 04:39
생각하건데 OpenCV 모든 함수에서도 그렇겠지만
함수의 인자에서 포인터를 넣으면 안 된다
예를 들어서
class CDataSet
{
protected:
CvPoint2D32f * m2DNew;
CvPoint2D32f * m2DOld;
public:
CvPoint2D32f * GetNew() { return m2DNew; }
CvPoint2D32f * GetOld() { return m2DOld; }
};
이라고 했을 때
cvCalcOpticalFlowPyrLK(prev_gray, gray, prev_pyramid, pyramid,
OldPt, NewPt, *n,
cvSize(win_size, win_size), 3, status, 0,
cvTermCriteria(CV_TERMCRIT_ITER|CV_TERMCRIT_EPS, 20, 0.03), flags);
이렇게 했을 때
Point Tracking 이 되지 않는다.
이거 때문에 이틀을 날리고 그 다음에
두번째 실수이다 잊어버리지 말자
그래서 같은 클래스에 넣었었던 것으로 기억된다.