如何将图像从PIL传递到cv2而不必保存并重新加载?
import cv2
import numpy as np
from PIL import Image
img = Image.open('path/to/pic.jpg')
#modify picture using PIL
img.save('path/to/pic.jpg')
img = cv2.imread("pic.jpg")
答案 0 :(得分:1)
答案 1 :(得分:1)
您可以访问字节并构建您的numpy数组(cv2也在内部使用numpy来存储它们的数据)。
d = {'TRANSFERRED': [2281, 1031, 1775, 867, 1242],
'CLOSED': [239, 269, 645, 540, 388],
'DEFERRED': [89, 5, 68, 48, 37],
'OPEN': [3, 0, 2, 1, 0],
'IN PROGRESS': [0, 2, 4, 0, 5],
'QUEUED': [0, 0, 0, 0, 0]}
答案 2 :(得分:0)
以下内容适用于Python 3.7.3
:
from PIL import Image
from cv2 import cvtColor, COLOR_BGR2RGB
from numpy import array
# get the image path
img_path = 'images/test.jpg'
img_rgb = cvtColor(array(Image.open(img_path)), COLOR_BGR2RGB)