我试图使用 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 check' 状态是 'false' 并且没有写入图像。
我还根据 microsoft help 中的指南检查了文件夹权限我的“E/New Folder/”允许写入。仍然,图像没有保存。 我可以接受任何图像格式 .jpg、.png 和 .bmp。 我正在使用 Windows 7、OpenCV 3.0、visual studio 2017。
请帮助我,感谢阅读
最佳答案
Opencv 似乎不支持保存 BMP 文件检查 imwrite docs .将文件名更改为 img.png
应该可以。在 Windows 中使用 ./
也是无效的,这在 unix 系统中用于表示当前工作目录,请参见 Windows current directory .
更新为
bool check = imwrite(".\img.png", reflection);
或
bool check = imwrite("img.png", reflection);
应该可以
关于c++ - OpenCV imwrite 不写入图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46659803/