我想在ImageView中显示RGBA数组。我目前能够做到的唯一方法是先制作一个QImage,然后再制作一个QPixmap,并在标签中显示它。但是,我希望将其显示在ImageView中,以提供我已经实现的所有其他功能。这可能吗?
qimage = pg.fn.makeQImage(x)
pixmap = QtGui.QPixmap.fromImage(qimage)
imvOCTTopLeft.close()
elasticity = QtGui.QLabel()
layout.addWidget(elasticity,4,1)
elasticity.setPixmap(pixmap)
答案 0 :(得分:0)
使用ImageView.setImage(img),参数必须是3d numpy数组,其形状为(宽度,高度,4)。最后一个尺寸是rgba,范围是0到1。
import pyqtgraph as pg
import numpy as np
if __name__ == '__main__':
app = pg.mkQApp()
w = pg.ImageView()
image = np.array([np.array([np.array([1, i*0.01, i*j*0.0001, 1]) for i in range(100)]) for j in range(100)])
w.setImage(image)
w.show()
app.exec()
结果:
答案 1 :(得分:0)
该库将帮助您在QImage和ndarray之间转换 https://github.com/hmeine/qimage2ndarray/