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

来源:互联网 发布:在银行当程序员 编辑:程序博客网 时间:2024/05/16 01:18

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

2 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();}


原创粉丝点击