QPixmap.fromImage(QImage)将QImage转换为Qpixmap时返回null

2024-10-01 02:28:49 发布

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

我试图在PYQT4编写的GUI中显示作为ROS主题发布的图像。我正在使用cv_bridge将我的ROS图像消息转换为opencv图像。然后,我将opencv图像转换为Qimage,然后将其转换为QPixmap,用QLabel显示它。代码片段是

def CallbackFrntCamImg(self,msg):
        self.StatusFrntCam = True
        FrntCamImg = self.CVBridge.imgmsg_to_cv2(msg, desired_encoding="passthrough")
        cv2.imwrite("testimg.jpg",FrntCamImg)
        FrntCamImg = cv2.cvtColor(FrntCamImg,cv2.COLOR_BGR2RGB)
        height,width,channel = FrntCamImg.shape
        frntcamimg = QImage(FrntCamImg,width,height,channel*width,QImage.Format_RGB888)
        frntcamimg.save("TestImage.png")
        self.frntcamqimg = QPixmap.fromImage(frntcamimg,Qt.AutoColor)
        if self.frntcamqimg.isNull():
            print "PixMap Image is NULL"

看起来CV图像被成功地转换为QImage,但是我从QImage生成的QPixmap是空的。在

我知道ROS Image->;CV Image和CV Image->;QImage是有效的,因为我能够成功地保存图像并进行查看。在

我试过不同的旗子,但没什么不同。我不知道我错过了什么。感谢任何帮助。在

谢谢


Tags: 图像imageselfchannelmsgroswidthcv2