3

openCV ラッパー javacv を使用して、Java 内で BRISK を実行しようとしています。FASTコーナー検出器の実行に問題はありませんが、計算機能の実行方法に行き詰まっています。このコードを実行すると:

private int threshold = 30;
private int octaves = 3;
private float scale = 1.0f;

private BRISK brisk = null;
private KeyPoint keyPoints = null;
private CvMat img, descriptors;

descriptors = new CvMat();
keyPoints = new KeyPoint();

img = getFrame();

brisk = new BRISK(threshold, octaves, scale);
brisk.compute(img, null, keyPoints, descriptors, false);

次のエラーが表示されます。

OpenCV エラー: 不明な関数の不正な引数 (不明な配列型)、ファイル ......\src\opencv\modules\core\src\matrix.cpp、行 698

FASTコーナー検出を実行できるので、imgが問題ではないと確信しています。初期化する方法がわからないため、実際の問題は記述子マトリックスだと思います。何か案は?

4

1 に答える 1

1

問題の解決策は、記述子を new CvMat(null) として初期化する必要があることです

于 2013-06-20T08:13:53.687 に答える