• QT+QT creator+OpenCV图像灰度化


    1).pro文件

    #-------------------------------------------------
    #
    # Project created by QtCreator 2014-05-18T12:56:52
    #
    #-------------------------------------------------
    
    QT       += core gui
    
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
    
    TARGET = myQTDemo
    TEMPLATE = app
    
    
    SOURCES += main.cpp
            mainwindow.cpp
    
    HEADERS  += mainwindow.h
    
    FORMS    += mainwindow.ui
    INCLUDEPATH+=d:opencv249includeopencv
                        d:opencv249includeopencv2
                        d:opencv249include
    
    LIBS+=d:opencv249liblibopencv_calib3d249.dll.a
            d:opencv249liblibopencv_contrib249.dll.a
            d:opencv249liblibopencv_core249.dll.a
            d:opencv249liblibopencv_features2d249.dll.a
            d:opencv249liblibopencv_flann249.dll.a
            d:opencv249liblibopencv_gpu249.dll.a
            d:opencv249liblibopencv_highgui249.dll.a
            d:opencv249liblibopencv_imgproc249.dll.a
            d:opencv249liblibopencv_legacy249.dll.a
            d:opencv249liblibopencv_ml249.dll.a
            d:opencv249liblibopencv_objdetect249.dll.a
            d:opencv249liblibopencv_video249.dll.a
    

    2).h文件

    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
    
    #include <QMainWindow>
    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    namespace Ui {
    class MainWindow;
    }
    
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
    
    public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();
        cv::Mat image,image2;
          QImage img;
    
    private slots:
        void on_pushButton_clicked();
    
        void on_pushButton_2_clicked();
    
    private:
        Ui::MainWindow *ui;
    };
    
    #endif // MAINWINDOW_H
    

    3).cpp文件

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include <QString>
    #include <QFileDialog>
    #include <QMessageBox>
    #include <opencv/cv.h>
    #include <QTextCodec>
    using namespace cv;
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    
    void MainWindow::on_pushButton_clicked()
    {
        QString filename = QFileDialog::getOpenFileName(this,tr("Open Image"),"",tr("Image File(*.bmp *.jpg *.jpeg *.png)"));
        QTextCodec *code = QTextCodec::codecForName("gb18030");
        std::string name = code->fromUnicode(filename).data();
        image = cv::imread(name);
    
        if(!image.data)
        {
            QMessageBox msgBox;
            msgBox.setText(tr("image data is null"));
            msgBox.exec();
        }
        else
        {
            cv::cvtColor(image,image2,CV_BGR2RGB);
            img = QImage((const unsigned char*)(image2.data),image.cols,image.rows, image.step,  QImage::Format_RGB888);
            ui->label->clear();
            ui->label->setPixmap(QPixmap::fromImage(img));
            //ui->processPushButton->setEnabled(true);
            ui->label->resize(ui->label->pixmap()->size());
        }
    }
    
    void MainWindow::on_pushButton_2_clicked()
    {
        // cv::flip(image,image,1);
        Mat gray;
    
        cvtColor(image,gray,CV_BGR2GRAY);
        // cvtColor(gray,gray,CV_bg)
      //  imshow("li",gray);
    
        // cv::cvtColor(image,image,CV_BGR2RGB);
        //      img = QImage((const unsigned char*)(image.data),image.cols,image.rows,image.cols*image.channels(),  QImage::Format_RGB888);
        img = QImage((const unsigned char*)(gray.data),gray.cols,gray.rows,gray.step,  QImage::Format_Indexed8);
    
        ui->label->setPixmap(QPixmap::fromImage(img));
    }
    


  • 相关阅读:
    pod
    jquery日历插件
    web前端常用api
    VUE.JS——脚手架安装
    github入门到上传本地项目
    appach修改默认端口之后数据库的访问
    在脚本中刷新impala元信息
    在脚本中刷新impala元信息
    不同hadoop集群之间迁移hive数据
    不同hadoop集群之间迁移hive数据
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5324945.html
Copyright © 2020-2023  润新知