美文网首页
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