OpenCv读取中文路径

opencv-python读取中文路径

问题: 在使用cv2.imread()读取含有中文路径的图片时,无法正常读取图片,读取到的内容为None。

原因: opencv在使用cv2.imread()读取图片时,只能接收ASCII码的路径参数,导致cv2在读取含有中文路径的图片时为None,无法正常读取图片。

解决方法: 使用np.fromfile()读取路径为np.uint8 格式,然后使用cv2.imdecode()读取数据,并将数据转换为图片格式。

cv2.imdecode(): 从指定的内存缓存中读取数据,并把数据转换(解码)成图像格式。

示例:

python
1
2
3
4
5
6
7
8
import cv2
import numpy as np

if __name__ == '__main__':
    img = cv2.imdecode(np.fromfile(r'C:\Users\focus\Pictures\背景图片\希望之鲸.jpg', dtype=np.uint8), cv2.IMREAD_COLOR)
    cv2.namedWindow('img', cv2.WINDOW_NORMAL)
    cv2.imshow('img', img)
    cv2.waitKey(0)
OpenCv读取中文路径
陕ICP备2023020057号
Built with Hugo
主题 StackJimmy 设计