opencv读取图片(绝对路径和相对路径,新手常踩的坑)

有很多新上手opencv的小伙伴在图片的读取这一块常犯错误,很多小伙伴可能看到资料中的代码是这样的:

cv2.imread("lena.jpg")

然后报错是:
error: (-215) size.width>0 && size.height>0 in function cv::imshow

这里就要千万注意了,这一段千万不要照抄书上的内容。因为图片的读取是从你自己的电脑上读取图片,你的电脑上不一定有这个图片,或者路径不对,那就读取不了了。
讲到这里又不得不提到路径要注意的点了。路径分为绝对路径和相对路径了。绝对路径就是从根文件夹开始(Windows一般是以c:,d: 这些盘符作为根文件夹)一层一层地找到目标文件所在地路径,比如说以下示例:

#C:\Users\17135\Desktop\python\1.jpg
cv2.imread(r"C:\Users\17135\Desktop\python\1.jpg")
#可以表示路径的字符有两种,分别是/,\。因为\被用作转义字符,所以要在前面加个r避免转义。
#这里我的目标文件就是1.jpg

相对路径就有点像物理里面的参照物了,简单来说,你建立了一个py文件,一般没有换路径的操作的话,你的相对路径的参照物就是这个py文件的这一级。然后相对路径的表示就是其他文件相对这个参照文件的相对的路径了。比如说,我的py文件的路径是:

#C:\Users\17135\Desktop\python\opencv\imread.py

那么现在读入图片时.py文件就是我们的参照文件,而1.jpg在python目录下,所以我们要用…/(…/表示上一级目录,./表示同级目录)进入上级目录,也就是进入了python目录下(也就是进入了和opencv文件夹同一级的目录下),可知python目录有两个文件或者文件夹,一个是opencv文件夹,一个是1.jpg文件。所以绝对路径就是:

cv2.imread("../1.jpg")

简单来说要读入图片就要输入图片在你自己电脑上的图片路径,路径不对就会报错。所以说我们来看第一段代码,如果你的py文件同级目录下没有lena.jpg的话,那肯定是会报错的,人家资料这么写是因为人家py文件的同级目录下又lena.jpg这个文件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

追天一方

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

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

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

打赏作者

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

抵扣说明:

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

余额充值