所以我正在尝试使用该calcCopticalFlowPyrLK
方法,但它不断抛出断言失败:
OpenCV Error: Assertion failed ((npoints = prevPtsMat.checkVector(2, CV_32F, true)) >= 0)
checkVector 检查输入矩阵是否为 2 通道并且颜色深度为 CV_32F。我的输入是具有 4 个通道和 CV_8U 色深的 Mat。当我尝试转换它时,它每次都无法更改。我用了
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);
但是当我检查之后的 prev 具有正确的深度(CV_32F)但只有 1 个元素通道时。我已经为此苦苦挣扎了几个小时,但我无法弄清楚问题出在哪里