Qt-Mat转QImage

0. 记录Qt开发中的一些问题

        本篇博文主要是记录opencv中的Mat数据转成QImage数据。

1. 函数代码
//QLabel中显示处理结果
void MainWindow::matToLabelShow(Mat mat)
{
    QLabel* label = ui->LB_ShowLabel;
    cv::Mat Rgb;
    QImage Img;
    if (mat.channels() == 3)//RGB Img
    {
        cv::cvtColor(mat, Rgb,COLOR_BGR2RGB);
        Img = QImage((const uchar*)(Rgb.data), Rgb.cols, Rgb.rows, Rgb.cols * Rgb.channels(), QImage::Format_RGB888);
    }
    else//Gray Img
    {
        Img = QImage((const uchar*)(mat.data), mat.cols, mat.rows, mat.cols * mat.channels(), QImage::Format_Indexed8);
    }

    //自适应显示
    int ori_width = Img.size().width();
    int ori_height = Img.size().height();

    int m_width = label->size().width();
    int m_height = label->size().height();

    int pro;
    if(ori_width/m_width >= ori_height / m_height)
    {
        pro = ori_width / m_width;
    }
    else
    {
        pro = ori_height / m_height;
    }

    int scale_width = ori_width / pro;
    int scale_height = ori_height / pro;

     QImage *scale_image = new QImage();
     *scale_image = Img.scaled(scale_width,scale_height,Qt::KeepAspectRatio);

     //label->setScaledContents(true);//充满整个屏幕
     label->setAlignment(Qt::AlignCenter);
     label->setPixmap(QPixmap::fromImage(*scale_image));

     delete scale_image;

}

相关推荐

  1. Qt-MatQImage

    2024-04-09 15:26:01       11 阅读
  2. Qt图像处理-OpenCv中MatQImage

    2024-04-09 15:26:01       39 阅读
  3. Qt QImage和QPixmap区别

    2024-04-09 15:26:01       21 阅读
  4. QT中的QImage与QPixmap区别

    2024-04-09 15:26:01       32 阅读
  5. c++ opencv中unsigned char *、MatQimage互相转换

    2024-04-09 15:26:01       43 阅读
  6. ListMap

    2024-04-09 15:26:01       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-09 15:26:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-09 15:26:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-09 15:26:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-09 15:26:01       20 阅读

热门阅读

  1. leetcode回忆法-1两数之和

    2024-04-09 15:26:01       14 阅读
  2. 【c++&leetcode】1. Two Sum

    2024-04-09 15:26:01       12 阅读
  3. [LeetCode][LCR131]砍竹子 I——推测规律

    2024-04-09 15:26:01       14 阅读
  4. 地理处理和空间分析的关键技巧

    2024-04-09 15:26:01       11 阅读
  5. vs mfc未加载mfc140u导致无法启动

    2024-04-09 15:26:01       12 阅读
  6. 第3章 数据定义语言DDL

    2024-04-09 15:26:01       14 阅读
  7. 第一弹:HTML,学习记录

    2024-04-09 15:26:01       15 阅读