PyTorch下UNet预测掩码无法通过cv2.imwrite保存至磁盘的问题
可能导致cv2.imwrite无法保存掩码的原因及解决方法
输出目录不存在:
cv2.imwrite不会自动创建不存在的目录。检查Config.Base_Out对应的路径是否存在,若不存在需提前创建:import os os.makedirs(Config.Base_Out, exist_ok=True) # exist_ok=True避免目录已存在时报错路径拼接方式错误:直接用
\\拼接路径在跨平台环境下可能出问题,建议用os.path.join统一处理路径分隔符:save_path = os.path.join(Config.Base_Out, filename) cv2.imwrite(save_path, predMask)预测掩码维度不匹配:当前代码中
predMask的形状是(1,1,H,W)(输入时做了两次np.expand_dims),而cv2.imwrite要求单通道图像为(H,W)格式,需先压缩冗余维度:predMask = predMask.squeeze() # 去掉前面的两个维度,变为(H,W)目录无写入权限:检查
Config.Base_Out所在目录是否允许当前用户写入,比如Windows系统保护目录、Linux只读目录,需调整权限或更换输出路径。文件名包含特殊字符:若文件名存在空格、中文或特殊符号,部分环境下
cv2.imwrite可能无法正常处理,可尝试用无特殊字符的文件名测试。
内容的提问来源于stack exchange,提问作者Abdelrahman Youssef
相关产品推荐
相关产品推荐

