如何使用 open cv 将图像文件从一个目录写入和转换到另一个目录?

How to write and transform image files from one directory to another directory using open cv?

我正在尝试从我的一个目录 (directory_a) 中复制并应用水平变换到所有图像,然后使用 cv2 将它们写入另一个 (directory_b)。所有图片均为png格式。这是我第一次使用 open cv/cv2.

当我使用我目前拥有的代码(见下文)时,会应用转换,但图像会保存到同一目录中。有谁知道如何正确执行此操作?

from glob import glob
import cv2

#Flip Image horizontally and add Image to directory_b Folder

directory_a = '/content/drive/MyDrive/no_copies2/train/directory_a_images'
directory_b = '/content/drive/MyDrive/no_copies2/train/directory_b_images'

input_files = glob(os.path.join(directory_a, "*.png"))

for file in input_files:
    img = cv2.imread(file)
    horizontal_img = cv2.flip(img, 1)   
    cv2.imwrite(os.path.join(directory_b, file + '_flip_v' + '.png'), horizontal_img)

file 变量是保存整个路径的路径,试试:

cv2.imwrite(os.path.join(directory_b, os.path.basename(file).split(".")[0] + '_flip_v' + '.png'),
            horizontal_img)

这可能与 Google Colab 有关。确保在 运行 代码之前创建了所有目录。我以前尝试过做类似的事情,但没有在驱动器中正确设置目录会出现一些问题。