python可以很好地将QImage转换为灰度

2024-09-28 18:51:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个QImage,需要把位转换成灰度。在

现在我只是计算RGB的平均值并将其写入像素属性:

Img = QtGui.QImage(300,600, QtGui.QImage.Format_RGB888)

    for x in range(299):
        for y in range(599):
            gray = self.npPixmap[y][x] * 256
            Img.setPixel(x, y, QtGui.QColor(gray,gray,gray).rgb())

这需要大约1,5秒,我想一半的时间。在

在这个c++ question是一个解决方案,扫描图片的每一行,并转换每一行一次。不幸的是,我无法将其应用于python。我找不到像

^{pr2}$

谢谢!在


Tags: inselfformatimgfor属性rangergb
1条回答
网友
1楼 · 发布于 2024-09-28 18:51:52

对于我自己的成像平台,我使用ITU-r601-2luma变换将彩色图像转换为灰度图像。我不使用平均值,因为人眼对绿色、红色和蓝色最敏感。如果图像作为numpy数组加载,我将执行以下操作:

  Images = 0.299*Images[:,:,0]+0.587*Images[:,:,1]+0.114*Images[:,:,2]

因此,如果从pyqt获取数组,然后再次设置数组,就可以使用这个方法。在

相关问题 更多 >