QT显示opencv处理好的二值化图像 图片适应控件大小显示
最近在写qt显示处理好的图片时,发现qt里Qlabel只能显示三通道图片,而opencv二值化之后的图片是单通道的,查了一些网页和调试以后,用以下代码运行成功。图片适应控件大小显示
Mat img ;
cvtColor(threshold,img,CV_GRAY2RGB); //threshold 是单通道图像(mat格式) ,把单通道转换为三通道
QImage image5((const uchar*)img.data,img.cols,img.rows,img.cols*img.channels(),QImage::Format_RGB888);//转换成QImage格式
ui->colorView->setScaledContents(true); //colorView是控件名称 改成自己的名称 使得图片适应控件大小显示
ui->colorView->setPixmap(QPixmap::fromImage(image5));//将图片显示在QLabel上 colorView是控件名称 改成自己的名称