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