美文网首页
cv2、matplotlib和PIL读取图像文件,返回的类型不一

cv2、matplotlib和PIL读取图像文件,返回的类型不一

作者: LabVIEW_Python | 来源:发表于2021-01-28 05:26 被阅读0次

    cv2、matplotlib和PIL读取图像文件,返回的类型不一样,源码:

    img_cv = cv2.imread('test.jpg')
    img_PIL = Image.open('test.jpg')
    img_plt = plt.imread('test.jpg')
    print(type(img_cv), type(img_plt), type(img_PIL))
    

    结果:

    <class 'numpy.ndarray'> <class 'numpy.ndarray'> <class 'PIL.JpegImagePlugin.JpegImageFile'>

    • cv2: 返回<class 'numpy.ndarray'>
    • matplotlib: 返回<class 'numpy.ndarray'>
    • PIL: 返回<class 'PIL.JpegImagePlugin.JpegImageFile'>

    <class 'numpy.ndarray'> 类型与<class 'PIL.JpegImagePlugin.JpegImageFile'>类型转换方式如下所示:

    • PIL 转 cv2
    img_PIL = Image.open('test.jpg')
    img_cv = np.asarray(img_PIL)
    print(type(img_cv), type(img_PIL))
    
    • cv2 转 PIL
    img_cv = cv2.imread('test.jpg')
    img_PIL = Image.fromarray(cv2.cvtColor(img_cv, cv2.COLOR_BGR2RGB))
    print(type(img_cv), type(img_PIL))
    

    相关文章

      网友评论

          本文标题:cv2、matplotlib和PIL读取图像文件,返回的类型不一

          本文链接:https://www.haomeiwen.com/subject/esgwzktx.html