【发布时间】:2020-10-11 12:52:59
【问题描述】:
这就是我目前所拥有的......无法弄清楚如何从缓冲区和文件中读取图像?
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()
【问题讨论】:
-
我不相信 OpenCV 可以读取 SVG 等矢量图形,我认为它只能读取位图图形 - 我可能错了。我怀疑您要么必须得到
pyqrcode才能输出PNG(它可以),要么使用pyvips或wand来读取SVG。如果有人知道得更好,我总是很高兴得到纠正。 -
@MarkSetchell 有趣...感谢您的帮助。你会碰巧知道如何使用
cv2阅读qr.png(buffer)吗? -
你需要像
cv2.imdecode(np.array(buffer.getcontents()), cv2.IMREAD_COLOR))这样的东西我不在电脑前测试。您基本上需要在看起来像字节或 Numpy 数组的东西上运行cv2.imdecode(),并以 PNG 签名\x89PNG