先上报错截图
- 在做毕业设计,opencv单独可以在vs2010上运行,qt单独也可以运行,但是两者结合在一起就不行了,毕设的基本功能都实现了,想做个界面,结果出现这个错误,还定位不到错误在哪,有点急,因此写这篇博客请教各位大牛,在此不胜感激!
然后是工程目录及配置
然后是代码
#ifndef QT_2_H
#define QT_2_H
#include <QtGui/QMainWindow>
#include "ui_qt_2.h"
#include <QFileDialog>
#include <QLabel>
#include <opencv/cv.h>
#include <opencv/highgui.h>
class Qt_2 : public QMainWindow
{
Q_OBJECT
public:
Qt_2(QWidget *parent = 0, Qt::WFlags flags = 0);
~Qt_2();
private:
Ui::Qt_2Class ui;
cv::Mat image;
private slots:
void on_OpenImage_clicked();
};
#endif // QT_2_H
//《qt_2.cpp》
#include "qt_2.h"
Qt_2::Qt_2(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
}
Qt_2::~Qt_2()
{
}
void Qt_2::on_OpenImage_clicked()
{
QString fileName = QFileDialog::getOpenFileName(this, tr("Open Image"),
".", tr("Image Files (*.png *.jpg *.jpeg *.bmp)"));
image = cv::imread(fileName.toAscii().data());
cv::cvtColor(image, image, CV_RGB2RGBA);
QImage img = QImage((const unsigned char*)(image.data), image.cols, image.rows, QImage::Format_RGB32);
QLabel *label = new QLabel(this);
label->move(200, 50);//图像在窗口中所处的位置;
label->setPixmap(QPixmap::fromImage(img));
label->resize(label->pixmap()->size());
label->show();
}
#include "qt_2.h"
#include <QtGui/QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Qt_2 w;
w.show();
return a.exec();
}