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);