如何解决在numpy数组中以PyQt5显示图像
我有一个形状为(500,500,3)
的numpy数组。我希望将其转换为图像并使用PyQt5进行显示。
解决方法
我假设数组的类型为uint8,并且表示红色,绿色和蓝色
您可以为此使用Pillow
,例如
from PyQt5 import QtWidgets,QtGui
from PIL import Image,ImageQt
import numpy as np
# generate data
table = np.zeros((256,256,3),dtype=np.uint8)
for i in range(256):
table[:,i,0] = i
table[i,:,1] = i
table[:,2] = (2*255 - table[:,0] - table[:,1]) // 2
# convert data to QImage using PIL
img = Image.fromarray(table,mode='RGB')
qt_img = ImageQt.ImageQt(img)
app = QtWidgets.QApplication([])
w = QtWidgets.QLabel()
w.setPixmap(QtGui.QPixmap.fromImage(qt_img))
w.show()
app.exec()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。