qt 中 QPixmap 类的使用及用 QLabel 显示图像 -计算机视觉 with OpenCV 3 and Qt 5

       与 QImage 类相似, QPixmap 也可以直接载入和保存图片,但 QPixmap 对图像数据的操作却很不灵活。所以一般是在QImage 上完成图像的所有操作,最后利用 QPixmap 将图像显示在屏幕上。大多数 QPixmap 的方法与 QImage 一致(大家可以参考我的上一篇博文),有两个常用的函数是 QImage 没有的,需要我们特别注意:

convertFromImage:利用 QImage 的数据填充 QPixmap。

fromImage:静态函数,功能与 convertFromImage 相同。

       利用 QLabel 显示 QImage 的一般方法为:

ui->label->setPixmap(QPixmap::fromImage(image));

     QLabel缩放时维持图像宽高比例不变(可在 designer 中设置 alignment 属性为居中):

ui->label>setPixmap(QPixmap::fromImage(image).scaled(ui->label->size(),
Qt::KeepAspectRatio,Qt::SmoothTransformation));

      若要图像始终填充满QLabel,需要如下语句:

ui->label->setScaledContents(true);

     利用 QLabel 显示 Mat 图像的一个方法为:

    cv::Mat mat = cv::imread("c:/dev/test.jpg"); 
    QImage image(mat.data, 
                 mat.cols, 
                 mat.rows, 
                 mat.step, 
                 QImage::Format_RGB888); 
    ui->label->setPixmap(QPixmap::fromImage(image.rgbSwapped()));


  • 7
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值