-2

こんにちは、私のトレーニング データには long double 型の数値が含まれています(like 1.6448e-43, -6.08498e-36)。次のコードで使用する OpenCV データ型:

Mat training_data = Mat(NUMBER_OF_TRAINING_SAMPLES,
                ATTRIBUTES_PER_SAMPLE, *HERE*);

次のデータ型を使用している場合、上記のランタイム エラーが発生します。

Mat training_data = Mat(NUMBER_OF_TRAINING_SAMPLES,
                ATTRIBUTES_PER_SAMPLE, CV_64FC1);

オープン CV ランダム フォレスト、つまり CVTrees を使用している場合

4

1 に答える 1

1

データにはdouble型が必要なので、正しい型は CV_64F であるMat必要があります (CV_64FC1 と同じです)。ただし、一部の OpenCV 関数は、どのタイプのデータも処理できず、特定のデータだけを期待する場合があります。あなたの場合、cvCheckTrainData関数は CV_32F 型のデータを期待するかもしれませMatfloat。試してみてください。ただし、その場合、データの精度がいくらか失われます。

于 2013-06-12T12:25:46.763 に答える