如何使用Opencv将P2 pgm转换为P5 pgm?

时间:2018-05-06 18:45:06

标签: c++ visual-studio opencv

我使用的传输分段代码仅适用于P5 pgm文件,但我也需要将它与P2 pgm文件一起使用。 我正在使用OpenCV尝试将其从P2转换为P5,我遇到的问题是当我尝试将图像保存为二进制格式(在P5中使用)时出现错误。这里是代码:

Mat imag(imread("path_to_file.pgm", CV_LOAD_IMAGE_GRAYSCALE));

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

try
    {
        imwrite("P5_file.pgm", imag, param);
    }
    catch (const std::exception &erro)
    {
        cout << &erro;
    }

在Visual Studio中调试时,当使用函数imwrite时,我在xutility内部头文件中出错,我不知道它来自哪里,但它告诉我它是一个访问冲突。 _Pnext。

如果我尝试更改用于读取图像的标志,那么我得到:

错误:错误的参数(便携式位图(.pgm)需要灰色图像)

这里有什么问题?

0 个答案:

没有答案