您的位置:首页 > 编程语言 > Qt开发

linux系统下opencv中IplImage转换成QT中QImage并在label上显示

2012-06-16 10:06 519 查看
vi xxx.pro 中配置 opencv为2.3.1

INCLUDEPATH +=/usr/local/include/opencv \

/usr/local/include/opencv2

LIBS += /usr/local/lib/libopencv_calib3d.so \

/usr/local/lib/libopencv_contrib.so \

/usr/local/lib/libopencv_core.so \

/usr/local/lib/libopencv_features2d.so \

/usr/local/lib/libopencv_flann.so \

/usr/local/lib/libopencv_gpu.so \

/usr/local/lib/libopencv_highgui.so \

/usr/local/lib/libopencv_imgproc.so \

/usr/local/lib/libopencv_legacy.so \

/usr/local/lib/libopencv_ml.so \

/usr/local/lib/libopencv_objdetect.so \

/usr/local/lib/libopencv_ts.so \

/usr/local/lib/libopencv_video.so



#include "mainwindow.h"

#include "ui_mainwindow.h"

#include "opencv2/core/core.hpp"

#include"opencv2/highgui/highgui.hpp"

#include"opencv/cv.h"

#include"opencv/highgui.h"

#include<QFileDialog>

#include<QPixmap>

#include<QImage>

#include<QLabel>

MainWindow::MainWindow(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::MainWindow)

{

ui->setupUi(this);

}

MainWindow::~MainWindow()

{

delete ui;

}

void MainWindow::on_open_clicked()

{

IplImage *img = 0;

img = cvLoadImage("/home/ql/programfile/OpenCV-2.3.1/samples/c/lena.jpg",-1); //test.jpg在所建工程的目录下

cvCvtColor(img,img,CV_BGR2RGB);

QImage *image;

uchar *imgData=(uchar *)img->imageData;

//QLabel *QImgShow =new QLabel();

image=new QImage(imgData,img->width,img->height,QImage::Format_RGB888);

ui->QImgShow->resize(img->width/3,img->height/3);

ui->QImgShow->setPixmap(QPixmap::fromImage(*image).scaled(ui->QImgShow->size()));

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: