下面先来介绍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));
}
下面是源码下载地址:
http://download.csdn.net/detail/qq78442761/9734805
下面是运行截图: