You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python人脸识别项目将前5匹配人脸照按mug1.jpg递增序号保存问题

问题原因
  • 计数器i的初始化位置错误:你将i = 0写在了遍历matchestolist的循环内部,每处理一个匹配项就会把i重置为0,导致所有文件后缀都是0,i +=1的递增逻辑完全没有生效
  • 命名规则不符合需求:当前代码是把原文件名拼接在mug序号前面,如果你不需要保留原文件名,直接生成mug1.jpg、mug2.jpg的文件名,还需要调整文件名拼接逻辑
修复代码

如果需要保留原文件名同时添加递增序号,生成[原文件名]mug1.jpg格式的文件名:

#save up relevant matches
i = 1 # 计数器初始化移到循环外部,起始值设为1对应mug1的需求
for filename in matchestolist:
    path = os.getcwd() + "/datasets/"
    file = path + filename + ".jpg"
    img = cv2.imread(file)
    cv2.imwrite(f"{filename}mug{i}.jpg", img)
    i += 1

如果不需要保留原文件名,直接生成mug1.jpg、mug2.jpg格式的文件名,用enumerate更简洁:

#save up relevant matches
for index, filename in enumerate(matchestolist, 1): # 直接用enumerate生成从1开始的序号
    path = os.getcwd() + "/datasets/"
    file = path + filename + ".jpg"
    img = cv2.imread(file)
    cv2.imwrite(f"mug{index}.jpg", img)

内容的提问来源于stack exchange,提问作者cfive

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 21:24:04