这篇教程python中的opencv和PIL(pillow)转化操作写得很实用,希望能帮到您。 opencv > pilimport cv2 from PIL import Imageimg = cv2.imread("test.png")image = Image.fromarray(cv2.cvtColor(img,cv2.COLOR_BGR2RGB)) pil > opencvimport 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 srcdef opencv2skimage(src): cv2.cvtColor(src,cv2.COLOR_BGR2RGB) src.astype(float32) src /= 255 return src 以上为个人经验,希望能给大家一个参考,也希望大家多多支持51zixue.net。如有错误或未考虑完全的地方,望不吝赐教。 快速解决cv2.imread()读取图像为BGR的问题 python通过re正则表达式切割中英文的操作 |