您的位置:首页 > 编程语言 > Qt开发

OpenCV的cv::Mat转换为Qt的QImage是歪斜失真

2017-10-24 14:04 711 查看
1 OpenCV的cv::Mat转换为Qt的QImage是歪斜失真

Qt中用QLabel显示OpenCV中Mat图像数据出现扭曲现象的解决

void CenterWindow::displayResult(Mat mat)
{ //show the resultImage in result area;
Mat rgb;
QImage img;
if(mat.channels() == 3) // RGB image
{
cvtColor(mat,rgb,CV_BGR2RGB);
img = QImage((const uchar*)(rgb.data), //(const unsigned char*)
rgb.cols,rgb.rows,
rgb.cols*rgb.channels(), //new add
QImage::Format_RGB888);
}else // gray image
{
img = QImage((const uchar*)(mat.data),
mat.cols,mat.rows,
mat.cols*mat.channels(), //new add
QImage::Format_Indexed8);
}

resultImageLabel->setPixmap(QPixmap::fromImage(img));
resultImageLabel->resize(resultImageLabel->pixmap()->size());
resultImageLabel->show();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  opencv