如何将文件夹内两张图片分别读取至不同变量中?
解决图片读取并分别存入变量的问题
你的代码存在两个关键问题:
os.listdir()返回的仅为文件名,并非完整文件路径,直接传给cv2.imread()会导致程序找不到图片文件- 未将
cv2.imread()的读取结果赋值给变量,且缺少区分两张图片的逻辑
以下是修正后的代码:
import os import cv2 # 图片文件夹路径 path = r'C:\Users\Desktop\Projects\ImagePractise\Images' # 获取排序后的图片文件名列表,保证读取顺序固定 sorted_images = sorted(os.listdir(path)) # 拼接完整路径并分别存入变量 var1 = cv2.imread(os.path.join(path, sorted_images[0])) var2 = cv2.imread(os.path.join(path, sorted_images[1])) # 可选:验证图片是否读取成功 if var1 is not None: print("第一张图片读取成功,形状:", var1.shape) if var2 is not None: print("第二张图片读取成功,形状:", var2.shape)
关键说明:
os.path.join():自动拼接文件夹路径与文件名,避免手动拼接路径时出现的格式错误sorted():对文件名排序,确保每次运行程序时,var1和var2对应的图片顺序一致- 直接通过列表索引获取对应图片的路径,实现分别存入指定变量的需求
内容的提问来源于stack exchange,提问作者surdeep
相关产品推荐
相关产品推荐

