如何使用OpenCV从缓冲区读取图像?

时间:2020-10-11 12:52:59

标签: python opencv io

这是我到目前为止的...无法弄清楚如何从缓冲区与文件中读取图像?

import pyqrcode
import io
from cv2 import cv2

qr = pyqrcode.create("Hello")
buffer = io.BytesIO()
qr.svg(buffer)
# image = cv2.imread(path) // How to read image from buffer instead?
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

1 个答案:

答案 0 :(得分:1)

以下工作。谢谢马克!

import pyqrcode
import io
import numpy as np
from cv2 import cv2

buffer = io.BytesIO()
qr = pyqrcode.create("Hello")
qr.png(buffer)
buffer.seek(0)
array = np.asarray(bytearray(buffer.read()), dtype=np.uint8)
image = cv2.imdecode(array, cv2.IMREAD_COLOR)
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
相关问题