我试图从我的Mac上保存OpenCV图像,我使用以下代码,到目前为止它还没有工作.
cv::imwrite("/Users/nickporter/Desktop/Gray_Image.jpg", cvImage);
Run Code Online (Sandbox Code Playgroud)
任何人都可以看到为什么这可能不会保存?
her*_*tao 14
OpenCV JPG有时会在保存图像方面遇到问题,请尝试保存到BMP:
cv::imwrite("/Users/nickporter/Desktop/Gray_Image.bmp", cvImage);
Run Code Online (Sandbox Code Playgroud)
此外,在此之前,请确保您的图像cvImage有效.你可以先显示图像来检查它:
namedWindow("image", WINDOW_AUTOSIZE);
imshow("image", cvImage);
waitKey(30);
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题,一个可能的原因是放置图像的目标文件夹。假设您要将A.jpg复制到folder "C:\\folder1\\folder2\\",但是实际上folder2不存在时,复制将无法成功(这是根据我的实际测试,而不是官方声明)。我通过检查文件夹是否存在并创建一个文件夹(如果不存在)解决了这个问题。这是一些代码,可能有助于使用c ++和boost :: filesystem。希望有帮助。
#include <boost/filesystem.hpp>
#include <iostream>
std::string str_target="C:\\folder1\\folder2\\img.jpg";
boost::filesystem::path path_target(str_target);
boost::filesystem::path path_folder=path_target.parent_path();//extract folder
if(!boost::filesystem::exists(path_folder)) //create folder if it doesn't exist
{
boost::filesystem::create_directory(path_folder);
}
cv::imwrite(str_target,input_img);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37949 次 |
| 最近记录: |