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

本文章博客地址: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 pressedif (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交互界面

OpenCV开发笔记(二):cvui交互界面相关推荐

  1. OpenCV开发笔记(七十二):红胖子8分钟带你使用opencv+dnn+tensorFlow识别物体

    本博客是转载的 本文章源博客地址:https://blog.csdn.net/qq21497936/article/details/109194717 各位读者,知识无穷而人力有穷,要么改需求,要么找 ...

  2. OpenCV开发笔记(一):OpenCV介绍、编译

    若该文为原创文章,未经允许不得转载 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/100072151 各位读者,知识无穷而人力有穷, ...

  3. OpenCV开发笔记(七十一):红胖子8分钟带你深入级联分类器训练

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/109096211 各位读者,知识无穷而人力有穷 ...

  4. 【Visual C++】游戏开发笔记二十三 游戏基础物理建模 五 粒子系统模拟 二

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

  5. OpenCV开发笔记(七十四):OpenCV3.4.1+ffmpeg3.4.8交叉编译移植到海思平台Hi35xx平台

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/123696821 各位读者,知识无穷而人力有穷 ...

  6. 【Visual C++】游戏开发笔记二十七 Direct3D 11入门级知识介绍

    游戏开发笔记二十七 Direct3D 11入门级知识介绍 作者:毛星云    邮箱: happylifemxy@163.com    期待着与志同道合的朋友们相互交流 上一节里我们介绍了在迈入Dire ...

  7. iOS工程开发笔记二

    iOS工程开发笔记<二> 在Xcode 4, 5的模板工程中可以看到Precompile Prefix Header,但是在Xcode 6被去除了. Xcode 6去掉Precompile ...

  8. OpenCV开发笔记(六十九):红胖子8分钟带你使用传统方法识别已知物体(图文并茂+浅显易懂+程序源码)

    若该文为原创文章,转载请注明出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/107837715 各位读者,知识无穷而人力有穷,要 ...

  9. 微信小程序开发笔记二(WXSS和CSS样式美化)

    微信小程序开发笔记二(WXSS和CSS样式美化) 一.CSS基本知识 1.Class选择器的定义 2.ID选择器的定义 3.ID选择器和class选择器的区别 4.CSS中设置颜色 5.CSS中的文本 ...

最新文章

  1. java enter_Java UI.enter方法代码示例
  2. RHEL 5服务篇—部署DNS域名解析服务(一)BIND软件
  3. 2016年CCPC/ICPC比赛总结
  4. 在php里让字体划过变色,鼠标划过字体时如何用css来实现字体变色?(代码实测)...
  5. HTML5 Audio标签API整理(一)
  6. 【UNITY3D 游戏开发之三】NGUI HUDTEXT 的练习源码及资源
  7. RGB数据剪切后保存为JPG格式文件的代码(使用jpeglib)
  8. VB.NET利用WMI获取操作系统所在硬盘序列号
  9. android 点击按钮打开浏览器网页
  10. C++ 第三课:常量转义字符
  11. nyist——ACM新生牛刀小试 Round#1题解
  12. 电脑的任务栏只显示一条杠,没有图标怎么解决,看这里!!!
  13. 嵌入式linux 系统支持usb wifi BL-R8723BT1
  14. 噪声dba是什么单位_声音的大小dB,到底是什么单位?
  15. 新浪博客(sina blog)批量删除代码
  16. Centos7 配置网卡链路聚合(转载)
  17. 用python输入概率分布,计算信源熵/信息熵
  18. android 系统要求,Android SDK系统要求
  19. Multi2Sim 5.0安装
  20. MATLAB机器人仿真笔记1——环境搭建

热门文章

  1. c语言课程设计报告书万年历,计算机c语言课程设计万年历报告书
  2. erp服务器安装虚拟打印机,如何在云服务器上使用打印机
  3. 第一份工作,入职前的感想和疑惑
  4. winrar 3.8注册码
  5. java+socket 简易聊天工具
  6. abstract方法必须在abstract类中 这句话是对的还是错的?
  7. CleanMyMac X2021中文官方永久免费全新系统清理管家软件
  8. 写的java代码 怎么看_【图片】自己写的Java代码,但是自己看不懂了【西安电子科技大学吧】_百度贴吧...
  9. 有了这些框架的构成,才是真正的数字化工厂
  10. 华为云 · 云桌面 Workspace(介绍)