OpenCV-将图像保存到所选的特定文件夹
image-processing
opencv
python
7
0

我正在学习OpenCV和Python。我从网络摄像头捕获了一些图像并将其保存。但是默认情况下会将它们保存到本地文件夹中。我想将它们从直接路径保存到另一个文件夹。我如何解决它?

参考资料:
Stack Overflow
收藏
评论
共 4 个回答
高赞 时间 活跃

Jeru Luke给出的答案仅在Windows系统上有效,如果我们尝试在另一个操作系统(Ubuntu)上运行,则它可以正常运行,但是图像保存在目标位置或路径上。

在Ubuntu和Windows中均无法使用

  import cv2
  img = cv2.imread('1.jpg', 1)
  path = '/tmp'
  cv2.imwrite(str(path) + 'waka.jpg',img)
  cv2.waitKey(0)

我在上面的代码中运行,但是图像未将图像保存在目标路径上。然后我发现添加路径的方法对于我们使用OS模块添加路径的一般用途是错误的。

例:

 import os
 final_path = os.path.join(path_1,path_2,path_3......)

在Ubuntu和Windows中工作

 import cv2
 import os
 img = cv2.imread('1.jpg', 1)
 path = 'D:/OpenCV/Scripts/Images'
 cv2.imwrite(os.path.join(path , 'waka.jpg'),img)
 cv2.waitKey(0)

该代码在Windows和Ubuntu上都可以正常工作:)

收藏
评论

您可以使用OpenCV的功能imwrite来做到这imwrite

import cv2
cv2.imwrite('Path/Image.jpg', image_name)
收藏
评论

谢谢大家。您的方式是完美的。我想分享另一种解决问题的方法。我使用函数os.chdir(path)将本地目录更改为path。之后,我正常保存图像。

收藏
评论

ebeneditos提供的解决方案运行完美。

但是,如果在大型代码段的多个部分中都有cv2.imwrite() ,并且想要更改保存图像的路径,则每次cv2.imwrite()出现时都必须分别更改路径。

正如Soltius所说,这是一种更好的方法。声明路径并将其作为字符串传递给cv2.imwrite()

import cv2
import os
img = cv2.imread('1.jpg', 1)
path = 'D:/OpenCV/Scripts/Images'
cv2.imwrite(os.path.join(path , 'waka.jpg'), img)
cv2.waitKey(0)

现在,如果要修改路径,只需更改path变量。

根据Kallz提供的解决方案进行编辑

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号