一 opencv-python
- 头文件
import cv2
- 读入图片
image=cv2.imread('1.jpg')
- 显示图片
cv2.imshow('openv',image)
- 保存图片
cv2.imwrite('1.jpg',image)
二 PIL.Image
- 头文件
from PIL import Image
- 读入图片
image=Image.open('1.jpg')
- 显示图片
image.show()
- 保存图片
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格式 互转中的方法.
-
所以不是必要情况还是建议只选择其中一个使用。
网友评论