使用Qt设计OpenCV GUI

时间:2016-07-20 18:24:12

标签: c++ qt user-interface opencv

我想自定义Qt的GUI

这是Default Qt OpenCV GUI

When You Click on Display Properties Button

我想在菜单上放置createButton。

enter image description here

我该怎么做?

以下是我的代码

#include "mainwindow.h"
#include <QApplication>

#include <opencv2/core/core.hpp>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>

#include <iostream>

void callbackButton2(int state, void* userData){

}

int main(int argc, char *argv[])
{
//QApplication a(argc, argv);
//MainWindow w;
//w.show();
cv::VideoCapture vc(0);
if(!vc.isOpened()) perror("Can't Open WebCam");

const char* winname = "WebCam";
cv::namedWindow(winname,CV_GUI_EXPANDED);

cv::createButton("button6",callbackButton2,NULL,CV_PUSH_BUTTON,1);
for(;;){
    cv::Mat frm;
    vc>>frm;
    if(!frm.empty()) imshow(winname,frm);
    if(cv::waitKey(20)==27) break;
}
vc.release();
cv::destroyWindow(winname);

return 0;
// return a.exec();
}

上面的代码只是打开网络摄像头并将其显示在屏幕上。但是对于我的下一个应用程序,我需要自定义gui并将其放在菜单上。

BTW我搜索了fllowing链接,我找不到如何自定义GUI。 http://docs.opencv.org/2.4/modules/highgui/doc/qt_new_functions.html

1 个答案:

答案 0 :(得分:0)

我不确定您是否可以自定义OpenCv Qt窗口,但您可以编写自己的窗口,然后使用类似于this的内容显示openCv图像,您可以检索cv:Mat immage并将其转换为Qimage对象,然后使用QPixmap在Qt图形视图中显示该对象。