我的目标是能够解析包含多个图像的文件夹并获取它们的绝对路径,以便我可以将它们加载到OpenCV中。
传入包含未知数量图像的单个文件夹。
#FilePass.py
import os
import cv2
import argparse
ap = argparse.ArgumentParser()
ap.add_argument("-1", "--first", required=True)
args = vars(ap.parse_args())
imagesToStitch = os.listdir(args["first"])
for image in imagesToStitch:
print os.path.abspath(image)
这是使用正在使用的文件夹的文件路径执行的命令。
# python FilePass.py --first C:\Users\cradford\Documents\Research\ImagesToPass\Pass1
包含的图像及其对应的完整文件路径为:
_001.jpg # "C:\Users\cradford\Documents\Research\ImagesToPass\Pass1"
_002.jpg # "C:\Users\cradford\Documents\Research\ImagesToPass\Pass1"
期望的输出:
C:\Users\cradford\Documents\Research\ImagesToPass\Pass1\_001.jpg
C:\Users\cradford\Documents\Research\ImagesToPass\Pass1\_002.jpg
使用代码输出:
C:\Users\cradford\Documents\Research\OpenCV Practice Files\_001.jpg
C:\Users\cradford\Documents\Research\OpenCV Practice Files\_002.jpg
我很确定结果显示“OpenCV Practice Files”的差异是因为它在我的for循环中查看“image”的abs.path并且代码文件保存在“OpenCV Practice Files”中。 任何帮助表示赞赏。
答案 0 :(得分:2)
您可能想要使用os.path.join
for image in imagesToStitch:
print os.path.join(args["first"], image)