Python PYQT5中用Label控件显示以numpy表示的图像
rgb_img = cv2.cvtColor(img, cv2.COLOR_GRAY2RGB) # 灰度转为RGB
q_img = QImage(rgb_img, rgb_img.shape[1], rgb_img.shape[0], rgb_img.shape[1]*3, QImage.Format_RGB888) # 将numpy数组转为QImage
pix = QPixmap(q_img).scaled(ui.label_vision.width(), ui.label_vision.height())
ui.label_vision.setPixmap(pix) # 在label控件中显示
说明:
img 是单色的灰度图像,PYQT5应该是可以直接显示的,但是可能我没有搞对方法,始终不能正常显示,无奈之下只好将其先转为RGB,再以RGB方式显示。
正常来说,下面这句应该就可以直接运行的,但就是不行,唉
q_img = QImage(rgb_img, rgb_img.shape[1], rgb_img.shape[0], rgb_img.shape[1], QImage.Format_Grayscale8)
报错如下:
下面这个图太形象了,如果你的代码以一种奇怪的方式运行起来了,就不要再动它了