zoukankan      html  css  js  c++  java
  • opencv学习之路(1):图像的载入和转换

    #include "dialog.h"
    #include "ui_dialog.h"
    #include "qfiledialog.h"
    #include "qdebug.h"
    Dialog::Dialog(QWidget *parent) :
        QDialog(parent),
        ui(new Ui::Dialog)
    {
        ui->setupUi(this);
    }
    
    Dialog::~Dialog()
    {
        delete ui;
    }
    
    void Dialog::on_pBtnLoadImage_clicked()
    {
        QString file = QFileDialog::getOpenFileName(this,"Open Image",".","Image Files(*.png *.jpg *.jpeg *.bmp);;All Files(*)");
        if(!file.isNull())
        {
        qDebug()<<file;
        image = cv::imread(file.toStdString());
        cv::imshow("Original",image);
        }
    }
    
    void Dialog::on_pBtnFlip_clicked()
    {
        static int flag=1;
        flag=flag>0?0:1;
        qDebug()<<"flag="<<flag;
        cv::flip(image,image,flag);
        cv::imshow("Output Image",image);
    }
    

      第二种界面:

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include "qfiledialog.h"
    #include "qdebug.h"
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    
    void MainWindow::on_pBtnLoadImage_clicked()
    {
        QString file = QFileDialog::getOpenFileName(this,"OPen Image",".","Image file(*.jpg *.png *.bmp);;All files(*)");
        if(!file.isNull())
        {
            image = cv::imread(file.toStdString());
            cv::cvtColor(image,image,CV_BGR2RGB);
            qDebug()<<"Image"<<image.depth();
            ShowImage();
        }
    }
    
    void MainWindow::on_pBtnFlip_clicked()
    {
        static int flag=1;
        cv::flip(image,image,flag);
        flag = flag>0 ? 0 : 1;
        ShowImage();
    }
    void MainWindow::ShowImage()
    {
        QImage img=QImage(image.data,image.cols,image.rows,QImage::Format_RGB888);
        ui->lbShowImage->setPixmap(QPixmap::fromImage(img));
        ui->lbShowImage->resize(img.size());
    }
    

      

  • 相关阅读:
    ButterKnife 原理解析
    有关java之反射的使用
    Integer 与 int 中的 ==
    下拉框、多选框、单选框 通过TagHelper绑定数据
    动态构建视图表单
    添加我的应用中的后台图标
    标准服务接口示例代码
    .net Core下的 常用方法
    使用Redirect跳转
    标准表单提交示例代码
  • 原文地址:https://www.cnblogs.com/Jason-AnHui/p/3459737.html
Copyright © 2011-2022 走看看