欢迎来到网际学院,让您的头脑满载而归!

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

发布日期:2020-04-29 10:27:25 作者:管理员 阅读:139

失真前失真处理后废话不多说,上代码: void CenterWindow::displayResult(Mat mat) {   //show the resultI

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

失真前

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

失真处理后

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


废话不多说,上代码:

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


Copyright oneie ©2014-2017 All Rights Reserved. 所有资料来源于互联网对相关版权责任概不负责。如发现侵犯了您的版权请与我们联系 QQ:86662817。 网际学院 版权所有 京ICP备14031243号-3
免责声明  商务合作及投稿请联系 QQ:86662817