I know that this question should be a duplicate question from post but since none of the solution there works for me, I decided to create another post for it. So I tried all of the solution there but I keep getting the same noise image as can be soon below (the left picture is the result when I show using matplotlib while the right picture is the result that I keep getting). Here is the code that I used, Normal is the variable for a numpy array that I want to show.
height, width, channel = normal.shape
bytesPerLine = 3 * width
qImg = QtGui.QImage(normal.data, width, height, bytesPerLine, QtGui.QImage.Format_RGB888)
self.normalImage = QtGui.QPixmap(qImg)
self.ui.normalDisplay.setPixmap(self.normalImage)