我尝试获取图像每个像素的RGB值。但似乎有些东西无法正常工作。
self.img = QImage(self.fname[0])
self.img = self.img.convertToFormat(QImage.Format_Grayscale8)
for i in range(self.img.height()):
for j in range(self.img.width()):
print(self.img.pixel(i, j), end=" ")
print("\n")
所以我的代码给了我
4278650631 4278650631 4278650631 4278650631 12345 12345
4278650631 4294967295 4278650631 4278650631 12345 12345
4278650631 4278650631 4278650631 4278650631 12345 12345
4278650631 4294967295 4278453252 4278650631 12345 12345
图片第二行有3个白色像素,但是我打印的值与图片中的颜色有所不同。另外,对于每行的最后两个像素,打印输出具有奇怪的12345。所以我不能将值转换为RGB。我的代码有什么问题?
答案 0 :(得分:0)
您可以尝试打印
qRed(self.img.pixel(i, j))
qGreen(self.img.pixel(i, j))
qBlue(self.img.pixel(i, j))