python中的opencv和PIL(pillow)轉化操作

opencv > pil

import cv2 
from PIL import Image
img = cv2.imread("test.png")
image = Image.fromarray(cv2.cvtColor(img,cv2.COLOR_BGR2RGB)) 

pil > opencv

import cv2 
from PIL import Image 
image = Image.open("test.png") 
img = cv2.cvtColor(numpy.asarray(image),cv2.COLOR_RGB2BGR) 

補充:skimage與opencv圖片格式的相互轉換

skimage是python的一個圖像庫,常常與matplotlib一起作為視頻、圖像類的基本庫。而opencv作為非常流行的視覺庫,在圖像處理中使用非常常見,本篇介紹兩種庫的圖像格式的相互轉換。

skimage

圖像格式

通道:RGB

像素值:[0,1]

Opencv

圖像格式

通道:BGR

像素值:[0,255]

轉換

轉換過程現封裝如下:

def skimage2opencv(src):
  src *= 255
  src.astype(int)
  cv2.cvtColor(src,cv2.COLOR_RGB2BGR)
  return src

def opencv2skimage(src):
  cv2.cvtColor(src,cv2.COLOR_BGR2RGB)
  src.astype(float32)
  src /= 255
  return src

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: