路径名太长,尝试在 Python 中使用 OpenCV 或 PIL.Image 保存图像时出错
Posted
技术标签:
【中文标题】路径名太长,尝试在 Python 中使用 OpenCV 或 PIL.Image 保存图像时出错【英文标题】:Path name too long, error when trying to save image with OpenCV or PIL.Image in Python 【发布时间】:2020-02-06 08:17:52 【问题描述】:我正在尝试将图像另存为:
img_path = folder_path + "\\image1.png"
folder_path 存在,正如我之前检查过的那样:
if(not os.path.exists(folder_path)):
raise OSError("Directory does not exist") #doesn't raise error
我已经尝试过使用 OpenCV
cv2.imwrite(img_path, img)
但它不会像我那样创建图像
if(not os.path.exists(img_path)):
raise OSError("Image not saved correctly.") #raises error
它会引发错误,当查看文件夹时,图像不存在。 我也试过 PIL.Image
img.save(img_path)
这会产生 FileNotFoundError。
我认为问题在于文件夹路径太长(它有 279 个字符),因为当我尝试将图像保存到另一个文件夹时,它会正确保存它。我认为没有权限问题。有没有办法为操作系统创建某种“快捷方式”,路径名称可能更短?将图像保存在该路径很重要。
【问题讨论】:
如果确实是文件夹路径长度问题,您可以尝试从您的 python 脚本中提供相对路径(如果这样可以缩短)。 os有这个路径长度限制,中途缩短文件名和文件夹名,或者保存到D:\tmp,从那里移走。 【参考方案1】:我发现,用os.chdir(folder_path)
更改工作目录,然后将图像保存为cv2.imwrite("image1.png")
。
【讨论】:
以上是关于路径名太长,尝试在 Python 中使用 OpenCV 或 PIL.Image 保存图像时出错的主要内容,如果未能解决你的问题,请参考以下文章