一 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')
三 兩者相互轉(zhuǎn)換
在做轉(zhuǎn)換的時(shí)候操软,最重要的一點(diǎn)是:opencv的圖像格式是BGR的绘搞,而PIL的圖像格式是RGB。
在編程的時(shí)候往往這些小細(xì)節(jié)是很容易被忽略必指,但卻是很重要的地方。
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)
當(dāng)然也可以參考這篇文章Python OpenCV格式和PIL.Image格式 互轉(zhuǎn)中的方法.
所以不是必要情況還是建議只選擇其中一個(gè)使用。