Python Qt QImage根据其内容使图像变亮或变暗

时间:2019-02-19 15:17:18

标签: python opencv qimage brightness pyside2

我正在使用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)

问题是图像亮度似乎会根据显示的内容自动调整,这对于此应用程序来说是个大问题,因为它需要保持一致。我似乎真的无法在文档中弄清楚如何手动设置亮度,以使其不会自动调整。

1 个答案:

答案 0 :(得分:0)

糟糕,好愚蠢的问题。归一化会导致问题...当然。我将不得不重新考虑如何从hounsfield单位转换为像素强度。

感谢发表评论的人!