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

若该文为原创文章,未经允许不得转载
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址: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下载

       官方地址:https://dovyski.github.io/cvui/

   OpenCV开发笔记(二):cvui交互界面_第1张图片

 

CVUI编译

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

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

OpenCV开发笔记(二):cvui交互界面_第2张图片

步骤二:CMake配置

OpenCV开发笔记(二):cvui交互界面_第3张图片

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

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

OpenCV开发笔记(二):cvui交互界面_第4张图片

       继续配置,配置完成。

OpenCV开发笔记(二):cvui交互界面_第5张图片

步骤四:命令行编译

OpenCV开发笔记(二):cvui交互界面_第6张图片

OpenCV开发笔记(二):cvui交互界面_第7张图片

       编译安装成功。

 

模块化

OpenCV开发笔记(二):cvui交互界面_第8张图片

 

测试代码

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;
        }
    }
}

 

测试效果

OpenCV开发笔记(二):cvui交互界面_第9张图片

 

示例Demo

button-shortcut.exe

OpenCV开发笔记(二):cvui交互界面_第10张图片

canny.exe

OpenCV开发笔记(二):cvui交互界面_第11张图片

complex-layout.exe

OpenCV开发笔记(二):cvui交互界面_第12张图片

hello-world.exe

OpenCV开发笔记(二):cvui交互界面_第13张图片

image-button.exe

OpenCV开发笔记(二):cvui交互界面_第14张图片

interaction-area.exe

OpenCV开发笔记(二):cvui交互界面_第15张图片

main-app.exe

OpenCV开发笔记(二):cvui交互界面_第16张图片

mouse.exe

OpenCV开发笔记(二):cvui交互界面_第17张图片

mouse-complex.exe

OpenCV开发笔记(二):cvui交互界面_第18张图片

mouse-complex-buttons.exe

OpenCV开发笔记(二):cvui交互界面_第19张图片

multiple-files.exe

OpenCV开发笔记(二):cvui交互界面_第20张图片

multiple-windows.exe

OpenCV开发笔记(二):cvui交互界面_第21张图片

multiple-windows-complex.exe

OpenCV开发笔记(二):cvui交互界面_第22张图片

multiple-windows-complex-dynamic.exe

OpenCV开发笔记(二):cvui交互界面_第23张图片

multiple-windows-complex-mouse.exe

OpenCV开发笔记(二):cvui交互界面_第24张图片

nested-rows-columns.exe

OpenCV开发笔记(二):cvui交互界面_第25张图片

on-image.exe

OpenCV开发笔记(二):cvui交互界面_第26张图片

row-column.exe

OpenCV开发笔记(二):cvui交互界面_第27张图片

sparkline.exe

OpenCV开发笔记(二):cvui交互界面_第28张图片

trackbar.exe

OpenCV开发笔记(二):cvui交互界面_第29张图片

trackbar-complex.exe

OpenCV开发笔记(二):cvui交互界面_第30张图片

trackbar-sparkline.exe

OpenCV开发笔记(二):cvui交互界面_第31张图片

ui-enhanced-canny.exe

OpenCV开发笔记(二):cvui交互界面_第32张图片

ui-enhanced-window-component.exe

OpenCV开发笔记(二):cvui交互界面_第33张图片

 

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

       CSDN:https://download.csdn.net/download/qq21497936/11612349

 

入坑

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

        

解决方法:

        

 

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

       对应版本号v1.1.0

 

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

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

 

原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/100110016

你可能感兴趣的:(Qt开发,图形图像处理,#,OpenCV,cvui,编译,cvui自带示例,opencv+cuvi)