我只是想将 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);