Qt creator5.7 OpenCV249之圖片旋轉(含原始碼下載)
阿新 • • 發佈:2019-01-29
下面先來介紹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)); }
下面是原始碼下載地址:
下面是執行截圖: