zoukankan      html  css  js  c++  java
  • Qt+opencv:读取、显示图像

    GitHub:点击下载完整代码

    本文主要是使用Qt与opencv将图像进行显示在QT界面上。

    程序运行后的界面如下所示:

    (由于只有打开图像之后,才能对图像进行翻转,所以程序设置为读取图像成功之后才能点击翻转图像按钮)

     点击打开图像:

    打开图像,获取图像名称代码:

    QString filename = QFileDialog::getOpenFileName(this,
                                                        tr("open image"),
                                                        ".",
                                                        tr("Image file(*.png *.jpg *.bmp)"));
        image = imread(filename.toLocal8Bit().data());

    显示效果:

    显示图像代码:

    QImage img = QImage((const unsigned char*)(image.data),
                            image.cols, image.rows, QImage::Format_RGB888);
        //设定图像大小自适应label窗口的大小
        img = img.scaled(ui->label->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
        ui->label->setPixmap(QPixmap::fromImage(img));

    点击翻转图像按钮:

    flip(image, image, 1);
        QImage img = QImage((const unsigned char*)(image.data),
                            image.cols, image.rows, QImage::Format_RGB888);
        img = img.scaled(ui->label->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    
        ui->label->clear();
        ui->label->setPixmap(QPixmap::fromImage(img));

     

    没有打开图像时, 翻转图像按钮设置为不能点击:

    ui->pushButton_2->setEnabled(false);

    判断图像是否打开,打开设置为能够点击状态:

    if(image.data) {
            ui->pushButton_2->setEnabled(true);
        }
  • 相关阅读:
    Mac OS X 下安装Raspbian系统
    Tiny4412 uboot Makefile 分析
    Tiny4412增强版底板串口电路与设置
    为Debian搞定Mercury MW150US无线网卡驱动
    树莓派的启动过程
    xml格式转换为Bean
    j2ee之hibernate工具类
    验证码代码
    j2ee之AJAX的二级联动
    j2ee之原生AJAX
  • 原文地址:https://www.cnblogs.com/gousheng/p/7849658.html
Copyright © 2011-2022 走看看