0

我只是想将 Mat 保存为 ppm 图像。我能够读取 ppm 并将其加载到 Mat 中。导致错误的代码部分是:

    //  Display Image
    namedWindow("Comparison", CV_WINDOW_NORMAL);
    imshow("Comparison", comparisonMat);
    waitKey();

    vector<int> compression_params;
    compression_params.push_back(CV_IMWRITE_PXM_BINARY);
    compression_params.push_back(1);

    imwrite("Comparison.ppm",comparisonMat,compression_params);

它构建成功,但是在写入文件时,出现以下错误:

“HW.exe 中 0x76b2c41f 处未处理的异常:Microsoft C++ 异常:内存位置 0x0018f280 处的 std::bad_alloc ..”

知道如何解决这个问题吗?

编辑:我通过执行以下操作使其工作:

IplImage* writeImage=cvCloneImage(&(IplImage)comparisonMat);
cvSaveImage("Comparison.ppm", writeImage);
4

0 回答 0