OpenCV开发笔记(二):cvui交互界面

本文介绍了cvui库,一个基于OpenCV的UI库,用于创建跨平台的界面。内容包括cvui的概述、特点、下载、编译步骤、模块化、测试代码、示例Demo以及解决编译问题的方法,适合OpenCV开发者参考。
摘要由CSDN通过智能技术生成

若该文为原创文章,未经允许不得转载

本文章博客地址:https://blog.csdn.net/qq21497936/article/details/100110016
各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究

红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中..

OpenCV开发专栏(点击传送门)

上一篇:OpenCV开发笔记(一):OpenCV介绍、编译

下一篇:OpenCV开发笔记(三):OpenCV图像的概念和基本操作

前言

       OpenCV可用于做界面开发,cvui基于OpenCV的ui界面开发库,跨平台。

CVUI

概述

       cvui是一个(非常)简单的UI lib,构建在OpenCV绘图基元之上。其他UI库(例如imgui)需要图形后端(例如OpenGL)才能工作,因此如果要在OpenCV应用程序中使用imgui,则必须使其启用OpenGL。

       这不是与cvui的情况下,它使用只有OpenCV的图元来完成所有的渲染(无OpenGL或需要QT)。

特征

  • 轻巧,易于使用的用户界面;
  • 仅限标头,没有外部依赖(OpenCV除外);
  • 仅基于OpenCV绘图原语(不需要OpenGL或Qt);
  • 友好和类似C的API(没有类/对象等);
  • 轻松渲染组件而无需担心其位置(使用行/列);
  • 简单(但功能强大)的鼠标API;
  • 适当数量的UI组件(总共11个);
  • 提供C ++和Python(纯实现,无绑定)。

CVUI下载

       官方地址:cvui - (very) simple UI lib built on top of OpenCV drawing primitives

   

CVUI编译

       编译并不是必须的,cvui只需要包含头文件,编译是为了其Demo。

步骤一:解压到编译文件夹

步骤二:CMake配置

步骤三:配置错误“OpenCVConfig.cmake”、“opencv-config.cmake”

       Cvui是基于OpenCV,导入这两个文件路径。

       继续配置,配置完成。

步骤四:命令行编译

       编译安装成功。

模块化

测试代码

void OpenCVManager::testCvuiRunNormal()
{
    cv::String windowName = "testCvuiRunNormal";
    cvui::init(windowName);
    //                      高度  宽度
    cv::Mat frame = cv::Mat(300, 400, CV_8UC3);
    int count = 0;
    while(true)
    {
        frame = cv::Scalar(100, 100, 100);
        if(cvui::button(frame, 100, 100, "testButton"))
        {
            count++;
        }
        cvui::printf(frame, 100, 200, 1.0, 0xFF0000, "count = %d", count);
        cvui::update();
        cv::imshow(windowName, frame);

        // Check if ESC key was pressed
        if (cv::waitKey(20) == 27)
        {
            break;
        }
    }
}

测试效果

示例Demo

button-shortcut.exe

canny.exe

complex-layout.exe

hello-world.exe

image-button.exe

interaction-area.exe

main-app.exe

mouse.exe

mouse-complex.exe

mouse-complex-buttons.exe

multiple-files.exe

multiple-windows.exe

multiple-windows-complex.exe

multiple-windows-complex-dynamic.exe

multiple-windows-complex-mouse.exe

nested-rows-columns.exe

on-image.exe

row-column.exe

sparkline.exe

trackbar.exe

trackbar-complex.exe

trackbar-sparkline.exe

ui-enhanced-canny.exe

ui-enhanced-window-component.exe

示例Demo+编译好的lib集合包下载地址

       CSDN:cvui_opencv示例Demo_cvuiLib_opencvLib_Qt5.9.3mingw.rar-C++文档类资源-CSDN下载

入坑

入坑一:找不到cvui等函数定义

        

解决方法:

        

工程模板:对应版本号v1.1.0

       对应版本号v1.1.0

上一篇:OpenCV开发笔记(一):OpenCV介绍、编译

下一篇:OpenCV开发笔记(三):OpenCV图像的概念和基本操作

原博主博客地址:长沙红胖子Qt C++ Linux Arm_长沙红胖子_CSDN博客-Qt开发,图形图像处理,OpenCV图像处理领域博主
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:OpenCV开发笔记(二):cvui交互界面_长沙红胖子Qt C++ Linux Arm-CSDN博客_opencv交互界面

  • 14
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长沙红胖子Qt(长沙创微智科)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值