我正在尝试使用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);
我收到以下错误:
我确定img不是问题,因为我可以对其进行FAST角检测。我认为实际的问题是描述符矩阵,因为我不知道如何初始化它。有任何想法吗?
最佳答案
该问题的解决方案是描述符需要初始化为新的CvMat(null)