javaCV中的BRISK - 如何初始化描述符矩阵?

时间:2013-05-24 10:21:24

标签: java opencv computer-vision javacv

我正在尝试使用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行

我确信img不是问题因为我可以对它运行FAST角点检测。我认为实际的问题是描述符矩阵,因为我不知道如何初始化它。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

问题的解决方案是描述符需要初始化为新的CvMat(null)