版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/83280067
- 问题与解决
最近正在学OpenCV,发现导入图像时竟然报错。
import cv2
path="D:img信息2.jpg"
image=cv2.imread(path)
cv2.imshow('ok',image)
cv2.waitKey()
cv2.destroyAllWindows()
错误如下:
后上网百度了一下,发现有两个问题:
问题1
OpenCV读取图像时如果图像路径含中文会报错,可能原因python3.x 将系统字符编码默认为了Unicode,而opencv 读取图片函数的输入参数默认用gbk格式处理。
解决方法1:直接将中文路径改成英文字符;
解决方法2:
def cv_imread(file_path):
cv_img=cv2.imdecode(np.fromfile(file_path,dtype=np.uint8),-1)
return cv_img
问题2
python中正确的文件路径应该为以下3种
path="D:/img/1.jpg"
path="D://img//1.jpg"
path=r"D:img1.jpg"
这里推荐第2种方法。
- 鸣谢
1.python 3.X 中Opencv的cv2.imread读取中文路径下的图像为空
2.解决“cv2.error: OpenCV(3.4.2) C:projectsopencv-pythonopencvmoduleshighguisrcwindow.cpp:356:…”