前几天在调师兄给的双目代码的时候发现qimage显示出来的图片颜色非常奇怪,而且图片会分成两部分如图所示
检查代码发现
QImage disImageL = QImage((const unsigned char*)(Img_L.data), Img_L.cols, Img_L.rows, QImage::Format_BGR888);
但是师兄给的代码在他的电脑上运行是没有什么问题的,我试着把颜色格式改成RGB888
QImage disImageL = QImage((const unsigned char*)(Img_L.data), Img_L.cols, Img_L.rows, QImage::Format_RGB888);
然后发现图片变正常了,但是颜色完全反转了
正常图片是这样的
查阅了一些资料,然后试着将颜色格式改成COLOR_BGR2RGB
cvtColor(Img_L, Img_L, COLOR_BGR2RGB);
QImage disImageL = QImage((const unsigned char*)(Img_L.data), Img_L.cols, Img_L.rows, QImage::Format_RGB888);
显示图片恢复正常,初步猜测是将BGR转成RGB格式出现问题。
但奇怪的是为什么在别的电脑上就能正常显示呢,难道跟我的QT有关吗,不知道有没有人能解答一下