如何使用 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 有关。确保在 运行 代码之前创建了所有目录。我以前尝试过做类似的事情,但没有在驱动器中正确设置目录会出现一些问题。
我正在尝试从我的一个目录 (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 有关。确保在 运行 代码之前创建了所有目录。我以前尝试过做类似的事情,但没有在驱动器中正确设置目录会出现一些问题。