【问题标题】:BRISK in javaCV - How to initialize the descriptor matrix?javaCV中的BRISK - 如何初始化描述符矩阵?
【发布时间】:2013-05-24 10:21:24
【问题描述】:

我正在尝试使用 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 角点检测。我认为实际的问题是描述符矩阵,因为我不知道如何初始化它。有什么想法吗?

【问题讨论】:

  • 我正在使用 OpenCv Java 2.4.9,但我找不到创建 BRISK 对象的方法,就像您在上面的代码中所做的那样。您为此导入了哪个包,以及您使用的是哪个版本的 JavaCv?

标签: java opencv computer-vision javacv


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-10-09
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多