qt - 在带有按钮和文本控件的窗口中显示 opencv 框架

我想问你一些关于我想解决的问题的信息。

目前,我有两个 opencv 应用程序:

  • 申请 A :我用两种算法跟踪一个对象,每次我将一个帧保存在一个图像文件中,我用我在 shell
  • 中编写的一些命令来控制应用程序的行为
  • 申请 B :我有一个循环,每次读取图像文件并显示它
    因此,我同时启动这两个应用程序,以便使用 appA 跟踪对象并使用 appB 显示结果,appB 每次都会读取 appA 在硬盘中保存的帧。

  • 我想将应用程序 B 集成到应用程序 A 中以显示一个窗口(如下所示: http://lnx.mangaitalia.net/window.jpg ),以便在第一个区域中显示图像并使用按钮以给出目前我的命令写在壳里。

    您认为可以使用 Qt 或 opengl 或 wxwidgets 在区域中显示框架吗?

    哪种解决方案更好且更易于应用?

    目前,我的应用 B 非常简单:
     while(1)
    {
        Mat img=imread("result.jpg",1);
        if(!img.empty())
            imshow("HOG",img);
        if(waitKey(200)==27) break;
    }
    

    我想在一个也有一些按钮的窗口中显示这些框架。
    特别是,正如您在这篇文章的附加图片中看到的那样,我想创建一个分为两部分的窗口:第一部分显示从 opencv 相机捕获的帧,第二部分(或区域)有一些按钮( B1, B2, B3..) 用户可以按下以控制应用程序的行为。
    (目前,我在 appA 中使用开关/外壳来捕获键盘键)

    有一些基于类似于我想做的模板的示例?
    (就像我之前告诉过的 jpg 图片:http://lnx.mangaitalia.net/window.jpg)

    最佳答案

    我建议您只使用 OpenCV 中的内置 GUI:highgui。它具有键盘/鼠标 IO、带有消息循环的窗口控制、按钮、 slider 等。无需对 cv 图像进行任何转换即可显示它们。

    看看:http://dasl.mem.drexel.edu/~noahKuntz/openCVTut3.html (是为老的IplImage风格的CV写的,不过C++接口(interface)差不多,用cv::imshow画图)

    另外,这里是 documentation用于 C++ 风格的界面。

    还可以在 Qt 中将您的 CV 图像转换为 QImage 并这样做......您应该能够在 Google 上找到解决方案。

    https://stackoverflow.com/questions/6066424/

    相关文章:

    qt - 从IPLImage转换为Qt中的QImage

    iphone - 在iPhone ios 4上显示来自opencv的关键点

    iphone - iPhone应用程序的openframeworks库问题仅Mac应用程序不存在

    opencv - 在macports上使用opencv编译代码

    android - 在Android Eclipse项目中导入OpenCV

    opencv - 使用 openCV 检测由红外光突出显示的图案

    opencv - 如何将opencv添加到Turbo C++?

    python - 在 Jython 中使用 JavaCV

    iphone - 为什么在没有旋转代码的情况下在OpenCV中旋转图像?

    opengl - OpenCV 2.2窗口在OpenGL上引起问题