擅长:python、mysql、java
<p>我找到了解决办法。事实上,@user545424的解决方案不起作用,因为我使用的是PyQt5,并且不支持图像格式\u RGBA64。我试图安装PySide2,但它不起作用,所以经过一番研究,我发现了这篇文章:<a href="https://stackoverflow.com/questions/15672743/convert-16-bit-grayscale-to-qimage">Convert 16-bit grayscale to QImage</a>
答案中提出的解决方案非常有效。下面是我用来显示16位图像的代码:</p>
<pre><code>from PyQt5 import QtGui
import numpy as np
def array2Pixmap(img):
img8 = (img/256.0).astype(np.uint8)
img8 = ((img8 - img8.min()) / (img8.ptp() / 255.0)).astype(np.uint8)
img = QtGui.QImage(img8.repeat(4), 2048, 2048, QtGui.QImage.Format_RGB32)
pix = QtGui.QPixmap(img.scaledToWidth(img.width()*2))
return pix
</code></pre>
<p>这段代码可以工作,我有一个很好的图像,但现在我必须处理32位图像2048*2048像素,因此执行速度在一段时间后会变慢。我会找出原因的。在</p>