2013-03-20 1 views
3
에 대한 OpenCV의에서 제대로 작동하지

그래서 나는 calcCopticalFlowPyrLK 방법을 사용하기 위해 노력하고있어 그것은 주장을 던지는 계속 실패 CV_32F의 깊이. 나의 입력은 4 채널과 CV_8U의 색 깊이를 가진 매트입니다. 변환하려고하면 매번 변경되지 않습니다. 내가 사용했다cvtColor 자바

Mat prevFrame; // The input Mat. Grabbed from CvCameraViewFrame. Converted to rgb 

Mat prev = new Mat(rows,cols, CvType.CV_32F); 
Imgproc.cvtColor(prevFrame, prev, Imgproc.COLOR_BGRA2GRAY); 
prev.convertTo(prev, CvType.CV_32F); 

그러나 내가 나중에 확인하면 정확한 깊이 (CV_32F)가 있지만 1 요소 채널 만있다. 이 문제로 몇 시간 동안 고민하고 있는데 문제가 무엇인지 파악할 수 없습니다.

답변

1

calcOpticalFlowPyrLK 호출의 세 번째 인수 인 prevPtsMat 벡터에서 어설 션이 실패했습니다. 여기서 정의하는 행렬이 첫 번째 인수이며 이미있는 단일 채널 이미지 여야합니다. http://docs.opencv.org/modules/video/doc/motion_analysis_and_object_tracking.html

포인트 배열을 세 번째 인수로 사용하고 points 배열에 MatOfPoint2f()을 명시 적으로 만들어야한다고 가정합니다. 나는 이것이 다음에 설명되어 있다고 생각합니다 : Android: Using calcOpticalFlowPyrLK with MatOfPoint2f

+2

3 월 20 일 "2013"에 게시했습니다. 몇 시간 전에 게시 한 것 같아. – pkrskr

관련 문제