【故障诊断】cv2.imwrite无法写入图片,但程序就是不报错

【故障诊断】cv2.imwrite无法写入图片,但程序就是不报错

故障现象

在这种故障里,我们发现,使用cv2.imwrite的时候,明明程序不报错,可是在指定的路径下就是找不到生成的图片。

原因解释

这种情况一般是路径不对,因为cv2的这个方法从一开始就没有创建路径的功能。所以即使路径是错的,他也不会管,而是照常执行。

解决方案

创建目录

利用os.path.exists方法加入一个逻辑,如果这个路径不存在,那么就创建这个目录。具体做法可以直接百度,难度不是很大。

检查混用

 cv2.imwrite(save_dir_file + '/' + str(f'{patient_id}_{stain_type}_{cord[0] // downsample_factor}_{cord[1] // downsample_factor}.png'),cv2.cvtColor(img, cv2.COLOR_RGB2BGR))

注意这一行代码是可以执行的,因为save_dir_file是一个字符串数据类型,所以后面是使用加号相连。但是,如果这是一个Path类实例化后的对象,就必须使用反斜杠/直接相连,而不是采用字符串拼接的方式,最后再把Path对象转化为str类型。这一点一定要注意!

还有,在f‘’的两个引号之间的部分是字符串,这其中{}里如果要用的除号,要用双反斜杠。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲤鱼王的成长之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值