我无法使用cv2.imwrite()方法成像

时间:2019-07-20 16:01:37

标签: python opencv

我想将所有图片从一个文件夹复制到另一个文件夹。我试图一次又一次地运行此代码,但它只返回False,而不是将图片保存到其他文件夹。

import cv2
import glob
input_path = 'C:\\Users\\Kazmi-PC\\OneDrive\\Pictures\\1\\*.*'
output_path = 'C:\\Users\\Kazmi-PC\\OneDrive\\Pictures\\2\\*.jpg'
for file in glob.glob(input_path):
   print("printing.....")
   print(file)
   a= cv2.imread(file)
cv2.imwrite(output_path, a)

1 个答案:

答案 0 :(得分:2)

您不能在输出文件名中使用*。您将必须在imwrite循环内使用for并在输出中使用唯一的文件名。


您可以使用shutil.copy(file, directory)进行复制。因此,您可以在没有*.jpg的情况下使用输出,而不必在输出中添加文件名。

但是您仍然需要单独复制每个文件。

import glob
import shutil

input_path = 'C:\\Users\\Kazmi-PC\\OneDrive\\Pictures\\1\\*.*'
output_dir = 'C:\\Users\\Kazmi-PC\\OneDrive\\Pictures\\2\\'

for file in glob.glob(input_path):
   shutil.copy(file, output_dir)