我正在使用Pyside2,在那里我在屏幕上显示图像并编辑图像。我通过通过传递OpenCV图像来创建QImage对象来实现此目的。以下是我正在使用的代码:
# Convert hu into normalized values between 0 and 255
img = ( (img - img.max())/(img.max()-img.min()) ) * -1
img *= 255
img = img.astype(int)
img = (255 - img)
# Convert to opencv format
a = np.expand_dims(img, axis = 2)
img = np.concatenate((a, a, a), axis = 2)
img = np.require(img, np.uint8, 'C')
# QT Stuff
width, height, channel = img.shape
bytesPerLine = 3 * width
imgQT = QImage(img, height, width, bytesPerLine,
QImage.Format_RGB888).rgbSwapped()
self.imgQP = QPixmap.fromImage(imgQT)
imgQPrs = self.imgQP.scaled(768, 768)
self.scene_edit.addPixmap(imgQPrs)
self.edit_l.setScene(self.scene_edit)
问题是图像亮度似乎会根据显示的内容自动调整,这对于此应用程序来说是个大问题,因为它需要保持一致。我似乎真的无法在文档中弄清楚如何手动设置亮度,以使其不会自动调整。
答案 0 :(得分:0)
糟糕,好愚蠢的问题。归一化会导致问题...当然。我将不得不重新考虑如何从hounsfield单位转换为像素强度。
感谢发表评论的人!