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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。如有错误或未考虑完全的地方,望不吝赐教。
黄山市民网:https://www.huangshanshimin.com/