我试图使用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。
请帮助我,谢谢你的阅读
答案 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);