opencv > pil
1
2
3
4
|
import cv2 from PIL import Image img = cv2.imread( "test.png" ) image = Image.fromarray(cv2.cvtColor(img,cv2.COLOR_BGR2RGB)) |
pil > opencv
1
2
3
4
|
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]
转换
转换过程现封装如下:
1
2
3
4
5
6
7
8
9
10
11
|
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 |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://www.jianshu.com/p/e951b0abd1cf