だから私はcalcCopticalFlowPyrLK
メソッドを使用しようとしていますが、アサーションが失敗し続けます:
OpenCV Error: Assertion failed ((npoints = prevPtsMat.checkVector(2, CV_32F, true)) >= 0)
また、checkVector は、入力 Matrix が 2 チャネルであり、色深度が CV_32F であることを確認します。私の入力は、4 つのチャンネルと CV_8U の色深度を持つマットです。変換しようとすると、毎回変更に失敗します。使った
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 つしかありません。私はこれに何時間も苦労してきましたが、何が問題なのかわかりません