1. 程式人生 > >Qt creator5.7 OpenCV249之圖片旋轉(含原始碼下載)

Qt creator5.7 OpenCV249之圖片旋轉(含原始碼下載)

下面先來介紹OpenCV關於影象選擇的函式

void cv::flip(

InputArray src

OutputArray dst,

int flipCode)

src-是要處理的原始影象,

dst-是和原始影象具有同樣大小、型別的目標影象

filpCode-是選中型別

關於第三個引數

0-沿著x軸方向旋轉,垂直翻轉

正數-沿著y軸方向選擇,水平翻轉

負數-沿著x、y同時翻轉

下面介紹幾個Qt的函式:



QImage::Format_RGB888:The image is stored using a 24-bit RGB format (8-8-8).


下面是部分程式碼展示:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <QImage>
#include <QMessageBox>
#include <QString>
#include <opencv/cv.h>
#include <QTextCodec>
#include <QDebug>


namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
    cv::Mat srcImage,dstImage,tempImage;
    QImage img;

public slots:
    void on_HorizenBtn();
    void on_VerticalBtn();
    void on_HorizenAndVerticalBtn();

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H
void Widget::on_HorizenBtn()
{
    //水平方向翻轉
    cv::flip(srcImage,dstImage,1);
    //顯示圖片
    img=QImage((const unsigned char*)(dstImage.data),dstImage.cols,dstImage.rows,dstImage.cols*dstImage.channels(),QImage::Format_RGB888);
    img=img.scaled(ui->label_D->size());
    ui->label_D->setPixmap(QPixmap::fromImage(img));
}


下面是原始碼下載地址:

下面是執行截圖: