我的代码给了我奇怪的结果,如所附的照片QImage到左边和ndnd到右边。
如何解决将2D灰度ndarray正确转换为QImage的问题?
qimage = QImage(Image, Image.shape[0],Image.shape[1],QImage.Format_Mono).scaled(308, 384, Qt.KeepAspectRatio, Qt.FastTransformation)
print(Image.shape)
plt.imshow(Image,cmap=plt.cm.bone)
plt.show()
self.image = QPixmap(qimage)
self.LB_Image_Orig.setPixmap(self.image)
self.LB_Image_Orig.adjustSize()
QApplication.processEvents()
感谢eyllanesc提出的解决方案,该解决方案是将图像编写为PNG并直接从磁盘读取:
from skimage.io import imsave, imread
imsave('image.png', Image.astype(np.float))
self.image = QPixmap('image.png')
self.LB_Image_Orig.setPixmap(self.image)
self.LB_Image_Orig.adjustSize()
QApplication.processEvents()
if os.path.exists("image.png"):
os.remove("image.png")