python模块 | opencv-python与PIL.Image图像常用方法与相互转换

一 opencv-python

  1. 头文件
import cv2
  1. 读入图片
image=cv2.imread('1.jpg')
  1. 显示图片
cv2.imshow('openv',image)
  1. 保存图片
cv2.imwrite('1.jpg',image)

二 PIL.Image

  1. 头文件
from PIL import Image
  1. 读入图片
image=Image.open('1.jpg')
  1. 显示图片
image.show()
  1. 保存图片
image.save('1.jpg')

三 两者相互转换

在做转换的时候,最重要的一点是:opencv的图像格式是BGR的,而PIL的图像格式是RGB

在编程的时候往往这些小细节是很容易被忽略,但却是很重要的地方。

1 opencv to PIL.Image

opencvImg=cv2.imread('1.jpg')
PILimg = Image.fromarray(opencvImg.astype('uint8')[:, :, ::-1], mode='RGB')
PILimg.save('PILimg.jpg')

2 PIL.Image to opencv

PILimg=Image.open('PILimg.jpg')
img=np.asarray(PILimg)
OpenCVimg=img[:,:,::-1]
cv2.imwrite(' OpenCVimg.jpg', OpenCVimg)
  • 当然也可以参考这篇文章Python OpenCV格式和PIL.Image格式 互转中的方法.

  • 所以不是必要情况还是建议只选择其中一个使用。

你可能感兴趣的:(python模块 | opencv-python与PIL.Image图像常用方法与相互转换)