我有一个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}$谢谢!在
对于我自己的成像平台,我使用ITU-r601-2luma变换将彩色图像转换为灰度图像。我不使用平均值,因为人眼对绿色、红色和蓝色最敏感。如果图像作为numpy数组加载,我将执行以下操作:
因此,如果从pyqt获取数组,然后再次设置数组,就可以使用这个方法。在
相关问题 更多 >
编程相关推荐