如何使用 imwrite OpenCV 3.1 将图像写入目录?

Posted

技术标签:

【中文标题】如何使用 imwrite OpenCV 3.1 将图像写入目录?【英文标题】:How to write image to catalog using imwrite OpenCV 3.1? 【发布时间】:2017-08-10 10:21:56 【问题描述】:

我必须使用 OpenCV 将图像写入子目录“pat”。 子目录位于项目文件夹中。 我试过了:

imwrite("../../pat/Gray_Image.jpg", image_source);
imwrite("../pat/Gray_Image.jpg", image_source);
imwrite("/pat/Gray_Image.jpg", image_source);
imwrite("\\pat\\Gray_Image.jpg", image_source);
imwrite("//pat//Gray_Image.jpg", image_source);
imwrite("\pat\Gray_Image.jpg", image_source);

我不明白为什么我错了。

【问题讨论】:

没有错误信息?请注意,在启动二进制文件时,相对路径是相对于 shell 所在的文件夹(工作目录)(可能与 binary 所在的文件夹不同)。您可以尝试使用绝对路径。路径应该像往常一样写在你的操作系统上。 您确定该文件夹在您的工作目录中吗?当你从 Visual Studio 运行程序时,工作目录是你的项目文件夹,但如果你在 IDE 之外运行它会有所不同 - 然后它是可执行文件所在的文件夹。 是的,没有错误信息。程序继续运行。绝对路径不起作用。 是的,这个文件夹在我的工作目录中。我在我的工作目录中写了一张图片。 您是否有权写入此文件夹?此文件夹是否已创建? imwrite() 不会为你创建它。 【参考方案1】:

找到解决方案。 OpenCV 仅使用完整路径。

【讨论】:

以上是关于如何使用 imwrite OpenCV 3.1 将图像写入目录?的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV:如何使用 cv::imwrite 保存图像而不覆盖它们

OpenCV Python:如何避免 py3 中的 cv2.imwrite() 内存“泄漏”?

如何正确使用 cv2.imwrite 通过 cv2.selectROI 在 openCV 中保存图像

OpenCV 函数学习02-图像的保存(cv2.imwrite)

OpenCV2.3 imwrite 保存黑色图像

Opencv:用imwrite保存一个双矩阵