将QImage转换为Qpixmap

时间:2017-12-16 01:13:53

标签: python opencv pyqt qpixmap

我正在尝试在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为Null。

我知道ROS Image - > CV图像和CV图像 - > QImage有效,因为我能够成功保存图像并查看它。

我尝试了不同的旗帜,但没有任何区别。我不确定我错过了什么。任何帮助表示赞赏。

由于

0 个答案:

没有答案