脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python中的opencv和PIL(pillow)转化操作

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

2021-09-24 00:04翻开日记 Python

这篇文章主要介绍了python中的opencv和PIL(pillow)转化操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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

延伸 · 阅读

精彩推荐