我们常用的cv2.imread()只能读取路径是英文的图片,如果出现图片路径带中文的情况,cv2.imread()就无法成功读取了, 需要用到cv2.imencode()!
image = 'D:\监控软件报警图片\image.jpg'
image = cv2.imdecode(np.fromfile(image, dtype=np.uint8), -1)
print(image)
此外,如果要保存图片的话,使用cv2.imwrite()同样无法成功,要使用cv2.imencode():
p_path ='D:\监控软件报警图片\image.jpg' # 图片路径
cv2.imencode('.jpg', frame)[1].tofile(p_path) # 保存路径中含有中文的图片
!!!!
小知识:
在python中,图片路径中使用的是“/”,有时候我们得到的路径是使用“\”,二者之间可以进行转换:
imagepath = 'D:\监控软件报警图片\image.jpg'
imagepath = imagepath.replace('\\', '/')
print(imagepath) # imagepath = 'D:/监控软件报警图片/image.jpg'