gpt4 book ai didi

python - 将 numpy 数组转换为 PySide QPixmap

转载 作者:IT老高 更新时间:2023-10-28 21:11:11 27 4
gpt4 key购买 nike

我想将图像转换为 NumPy 数组到 PySide QPixmap,所以我可以显示它(编辑:在我的 PySide UI 中)。我已经找到了这个工具:qimage2ndarray ,但它只适用于 PyQt4。我尝试对其进行更改以使其与 PySide 一起使用,但我必须更改该工具的 C 部分,而且我没有使用 C 的经验。我该怎么做或有其他选择吗?

最佳答案

另一种选择是只使用 PIL 库。

>>> import numpy as np
>>> import Image
>>> im = Image.fromarray(np.random.randint(0,256,size=(100,100,3)).astype(np.uint8))
>>> im.show()

您可以在 http://www.pyside.org/docs/pyside/PySide/QtGui/QImage.html 查看 QPixmap 构造函数.

看起来你应该可以直接在构造函数中使用 numpy 数组:

class PySide.QtGui.QImage(data, width, height, format)

格式参数是以下之一:http://www.pyside.org/docs/pyside/PySide/QtGui/QImage.html#PySide.QtGui.PySide.QtGui.QImage.Format .

因此,例如,您可以执行以下操作:

>>> a = np.random.randint(0,256,size=(100,100,3)).astype(np.uint32)
>>> b = (255 << 24 | a[:,:,0] << 16 | a[:,:,1] << 8 | a[:,:,2]).flatten() # pack RGB values
>>> im = PySide.QtGui.QImage(b, 100, 100, PySide.QtGui.QImage.Format_RGB32)

我没有安装 PySide,所以我没有对此进行测试。它可能不会按原样工作,但它可能会引导您朝着正确的方向前进。

关于python - 将 numpy 数组转换为 PySide QPixmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9794019/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com