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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
您可能感兴趣的文章:- python基于OpenCV模板匹配识别图片中的数字
- Python OpenCV高斯金字塔与拉普拉斯金字塔的实现
- Python OpenCV 基于图像边缘提取的轮廓发现函数
- Python opencv操作深入详解
- Python+Opencv实现数字识别的示例代码
- OpenCV+Python几何变换的实现示例
- python利用opencv实现颜色检测
- python+opencv实现车道线检测
- python opencv实现图像配准与比较
- python OpenCV学习笔记