-1

オブジェクト検出のためにこのチュートリアルに従おうとしていますが、最初に立ち往生しました。

今まで私のコードはこれです:

#include <stdio.h>
#include <stdlib.h>

#include <opencv2/opencv.hpp>
#include <fstream>
#include <iostream>
#include <string>

#include <dirent.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>

using namespace cv;
using namespace std;

int main() {

    Ptr<DescriptorExtractor> extractor = DescriptorExtractor::create("SURF");
    //Mat training_descriptors(1, extractor->descriptorSize(), extractor->descriptorType());

    extractor->descriptorSize();

    return 0;
}

次の行extractor->descriptorSize();でセグメンテーション違反 (コア ダンプ) が発生しますが、その理由はわかりません。あなたはなにか考えはありますか?

4

1 に答える 1

2

OpenCV の nonfree モジュールがインストールされていないことがわかりました。インストール後、不自由なライブラリをインクルードし、#include <opencv2/nonfree/nonfree.hpp>を呼び出しcv::initModule_nonfree();ました。問題は解決された。

于 2014-12-30T22:03:47.547 に答える