OpenCV读取图像问题:OpenCV(3.4.3) D:BuildOpenCVopencv-size.width0 && size.height0 in function 'cvimshow'

版权声明:本文为博主原创文章,转载 请注明出处: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:…”

原文地址:https://www.cnblogs.com/sc340/p/11870810.html