保存提取的功能opencv

Mar*_*rio 2 opencv machine-learning computer-vision

我在OpenCV中提取了SIFT特征描述符.下一步是训练SVM,但在该步骤之前,我认为我需要将提取的特征保存在文件中,以便训练这些特征......

所以我的问题是:1-如何保存这些矩阵?2-我想知道如何处理这些特征,我为一个图像提取了特征,但我需要为一个对象(例如可乐)提取不同姿势的许多图像的特征,并将它们保存在一个文件中......

你有任何想法,如何在opencv中做到这一点?

谢谢...

mev*_*ron 6

  1. 如果您想将OpenCV Mat保存到文件,请查看它们提供的FileStorage类.为了您的目的,它可能看起来像:

    FileStorage fs("features.yml", FileStorage::WRITE);
    
    Mat colaFeaturesXYZ;
    
    // compute SIFT features vectors to colaFeaturesXYZ;
    
    fs << "cola_pose_xyz" << colaFeaturesXYZ;
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果要将这些功能存储在数据库中以供以后搜索,可以考虑查看OpenCV提供的bagofwords_classification.cpp示例.这可能具有您正在寻找的所有功能.