OpenCV imwrite不写图像

时间:2017-10-10 06:20:03

标签: c++ opencv

我试图使用OpenCV imwrite函数将图像写入文件夹。 代码编译并成功运行,但图像未保存在文件夹/路径中。我从“imshow”获取输出,我的图像为CV_8UC1格式。

找到下面的代码

    Mat reflection = function which computes image
    imshow("output image", reflection);
    imwrite("E:/New folder/img.bmp", reflection);

所以我检查了current folder writing并修改了这样的代码

bool check = imwrite("./img.bmp", reflection);

此'bool 检查'状态为'false'且未写入图像。

我还使用microsoft help的指南检查了文件夹权限,我的“E /新文件夹/”被允许写入。仍然,图像没有保存。 我可以使用任何图像格式.jpg,.png和.bmp。 我正在使用Windows 7,OpenCV 3.0,Visual Studio 2017。

请帮助我,谢谢你的阅读

2 个答案:

答案 0 :(得分:2)

Opencv似乎不支持保存BMP文件,请检查imwrite docs。将文件名更改为img.png应该有效。在Windows中使用./无效,这在unix系统中用于表示当前工作目录,请参阅Windows current directory。 将其更新为

bool check = imwrite(".\img.png", reflection);

bool check = imwrite("img.png", reflection);

应该工作

答案 1 :(得分:0)

OpenCV确实支持bmp,请按如下所示使用。

bool check = imwrite("img.bmp", reflection);