【python】[Opencv库]【cv2包】cv2.imread() 读取图片失败解决方法

当使用cv2.imread(file)读取图片一直读取不了就要看看file路径是否存在中文了,今天写了的代码,用cv2.imread()读取图片路径一直报错,试了很多种方法,结果是中文出错了。

使用Opencv库倒入cv2包:import cv2
解决方法1:把文件路径里的文件名里带中文的全改为英文

#只使用前三个参数cv2.warpAffine(img,M,(rows,cols)),出现黑边
import  cv2
img=cv2.imread(r'C:\Users\zhu18\Pictures\CameraRoll\Progress\face1.jpg')
import numpy as np
M=np.float32([[1,0,25],[0,1,50]])
shifted_img=cv2.warpAffine(img,M,(img.shape[1],img.shape[0]))
cv2.imshow('Shifted',shifted_img)
print(type(img))

执行结果图:
在这里插入图片描述

#只使用前三个参数cv2.warpAffine(img,M,(rows,cols)),出现黑边
import  cv2
img=cv2.imread(r'C:\Users\zhu18\Pictures\Camera Roll\Progress\示例2.jpg')
import numpy as np
M=np.float32([[1,0,25],[0,1,50]])
shifted_img=cv2.warpAffine(img,M,(img.shape[1],img.shape[0]))
cv2.imshow('Shifted',shifted_img)
print(type(img))

报错,错误提示:
在这里插入图片描述
读取图片时发生异常,一切都是中文路径惹的祸,编程还是一切以英文为主比较好,免得出错。解决方法2如下:

import  cv2
import numpy as np
#img=cv2.imread(r'C:\Users\zhu18\Pictures\Camera Roll\Progress\示例2.jpg')
img = cv2.imdecode(np.fromfile(r'C:\Users\zhu18\Pictures\Camera Roll\Progress\示例2.jpg', dtype=np.uint8), 1)
M=np.float32([[1,0,25],[0,1,50]])
shifted_img=cv2.warpAffine(img,M,(img.shape[1],img.shape[0]))
cv2.imshow('Shifted',shifted_img)
print(type(img))

完美运行,图片成功显示,借助于numpy来读入数据,然后cv2.imdecode()把数据转换(解码)成图像。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Recently 祝祝

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

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

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

打赏作者

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

抵扣说明:

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

余额充值