OPENCV - 无法保存或显示SurfDescriptor Mat

时间:2016-12-04 18:18:41

标签: c++ opencv

我正在尝试将我的Surf描述符(不同图像)Mat保存到文件中,以便以后使用以下代码使用:

int offline(int nb) { //creates descriptors image;
    Mat img;
    int nfeatures = 25;
    int nOctaveLayers = 2;
    double contrastThreshold = 0.04;
    double edgeThreshold = 10;
    double sigma = 1.6;
    SurfFeatureDetector surfDetector = SURF(edgeThreshold, 2, 2, true, false);
    vector< KeyPoint> keypoints;
    SurfDescriptorExtractor surfExtractor;
    Mat imgDescriptors;
    for (int i = 2;i <= nb;i++) {

        img = imread("images/" + to_string(i) + ".jpg", CV_LOAD_IMAGE_GRAYSCALE);

        if (!img.data)
        {
            return -1;
        }   
        surfDetector.detect(img, keypoints);
        surfExtractor.compute(img, keypoints, imgDescriptors);
        imwrite(to_string(i)+".jgp",imgDescriptors); //impossible to save
        //imshow("lol", imgDescriptors); //impossible to show
    }
    return 0;
}

我收到此异常:OpenCV Error: Unspecified error (could not find a writer for the specified extension) in cv::imwrite_, file C:\builds\2_4_PackSlave-win64-vc12-shared\opencv\modules\highgui\src\loadsave.cpp, line 275 [解决方法是添加扩展程序+".jpg"

所以我想我应该尝试显示图片,所以我有另一个错误:show error

有关此问题的任何线索? (第二个例外)

0 个答案:

没有答案