OpenCV学习笔记(十)——图形交互和媒体接口HighGUI

opencv学习—HighGUI部分函数介绍及例子 HighGUI模块包含媒体的输入输出、视频捕捉、图像和视频的编码解码、图形界面的接口等部分。 主要的函数有: 1.   imread(): 读取单张图片到OpenCV中。 2.   imshow(): 在指定窗口中显示一幅图像。 3.   namedWindow(): 创建一个窗口,如果只是简单地进行图片显示,可以使用imread()与imshow()即可。但需要在显示窗口之前就用到窗口名 阅读详情

       OpenCV提供一个功能强大的UI接口,可以在MFC、Qt、WinForms、Cocoa等平台下使用,甚至不需要其他的平台。新版本的HighGUI接口包括:创建并控制窗口,该窗口可以显示图片并记录其内容为窗口添加了trackbars控件,可以方便利用鼠标进行控制而不是之前版本的只能利用键盘 读写硬盘和内存的图片 读取摄像头的视频、读写视频文件

      先来介绍UI,包括函数createTrackbar、getTrackbarPos、setTrackbarPos、imshow、namedWindow、destroyWindow、destroyAllWindows、MoveWindow、ResizeWindow、SetMouseCallback、waitKey。这些函数保证了图像的基本处理、tarckbar的控制和鼠标键盘的响应。

      介绍一下读写图像视频的函数:图像相关的函数有imdecode、imencode、imread、imwrite。读取视频相关为VideoCapture类,负责捕捉文件和摄像头的视频,该类内有成员函数VideoCapture、open、isOpened、release、grab、retrieve、read、get、set,写视频的类为VideoWriter,类内有成员函数VideoWriter、open、isOpened、write

新版本还为Qt做了新函数,这里就不介绍了,有兴趣的朋友可以自己看一下参考手册的第四章第三节。

这里介绍几个常用的新功能,首先介绍一下添加滑杆控件Trackbar。调用函数为:

createTrackbar( TrackbarName, "Linear Blend", &alpha_slider, alpha_slider_max, on_trackbar );
第一个参数为字符串作为标签,第二个参数为所在窗口的名字,第三个参数为存储滑杆位置的值地址,其范围为0~alpha_slider_max(第四个参数),最后一个参数为移动滑杆时调用的回调函数名。
OpenCV2.0版本加强了对视频处理的支持,不再需要对一组连续的图片进行处理,可以进行实时的图像采集和记录以及存储。视频的操作基本都被封装在VideoCapture类中。打开视频可以可以通过如下代码实现:

VideoCapture captRefrnc(sourceReference);
// or
VideoCapture captUndTst;
captUndTst.open(sourceCompareWith);
其中sourceReference和sourceCompareWith为string型,为文件名。还可以通过isOpened函数检测视频是否成功打开。也可以调用release函数提前关闭视频。还可以讲VideoCapture放到Mat结构中,因为视频流是一连串的,可以通过read函数或>>操作符逐帧的读取,例如:

Mat frameReference, frameUnderTest;
captRefrnc >> frameReference;
captUndTst.open(frameUnderTest);
read函数只能逐帧的抓取,如果要抓取某一帧,可以成对的调用grab函数和retrieve函数。get函数可以获取视频相关信息。set函数可以控制视频的一些值,比如是指视频的当前位置或帧数。

可以使用VideoWriter类创建新视频,其open,isOpened函数调用方法类似,write函数或<<运算符向视频写入内容,可以使用split函数和merge函数单独调整RGB通道的值。

OpenCV可移植图形工具HighGUI实现图像和视频操作 OpenCV把用于操作系统、文件系统以及摄像机等硬件设备交换的函数纳入了HighGUI(High-level Graphical User Interface)模块中。有了HighGUI模块,我们可以方便地打开窗口、显示图像、读出或写入图像相关的文件、鼠标事件和键盘事件。下面将对三部分分别进行介绍。 HighGUI三部分的作用 部分 作用 硬件部分 最主要是对摄像机的操作 ... 阅读详情

相关推荐

东方财富网股票API逆向分析:手把手教你破解动态参数(2024最新版)

本文详细解析了2024年东方财富网股票API的动态参数生成机制,包括回调函数、身份验证和时效控制参数的逆向工程方法。通过实战代码演示,帮助开发者破解动态参数,实现高效稳定的股票数据爬取,适用于金融数据分析和量化交易场景。

weixin_29091105的博客 1026

【opencv-python】视频处理(2) cv2.VideoCapture.open()函数、cv2.VideoCapture.isOpened()函数

【OpenCV】——视频处理(2) 一、cv2.VideoCapture.isOpened()函数1.功能2.语法3.返回值二、cv2.VideoCapture.open()函数1. 功能2.语法3.参数说明4.返回值三、用于打开视频文件 一、cv2.VideoCapture.isOpened()函数 1.功能 使用cv2.VideoCapture()函数完成摄像头的初始化之后,为了防止初始化发生错误,用cv2.VideoCapture.isOpened()函数来检查初始化是否成功。 2.语法 retval

weixin_51424157的博客 1万+

【斯坦福计网CS144项目】环境配置 & Lab0: ByteStream

前言 感觉学了不少 C++ 编程的知识和技术但比较缺少实践,于是打算找一些项目跟着做一做。 首先安利一个自学网站 CS自学指南,北大的同学做的,汇总了很多国内外高校 CS 相关的高质量公开课,其中大部分是有课程项目的。翻了翻感觉 Stanford 的这门 CS144 计网课的 Lab 比较有趣,难度也不错,就是它了! 课程网址:CS 144: Introduction to Computer Networking 我跟的是 2021 Fall 学期的版本。 准备工作 在上面的网站中先把 8 个实验的文档(

アルタイル 8165

【opencv-python】视频处理(5) cv2.VideoCapture.grab()函数、cv2.VideoCapture.retrieve()函数

【OpenCV】视频处理(5)一、cv2.VideoCapture.grab()函数二、cv2.VideoCapture.retrieve()函数三、与cv2.VideoCapture.read()函数的联系1.联系2.示例 一、cv2.VideoCapture.grab()函数 函数cv2.VideoCapture.grab()用来指向下一帧,其语法格式为: retval = cv2.VideoCapture.grab() 如果该函数成功指向下一帧,则返回值 retval 为 True。 二、cv2.V

weixin_51424157的博客 1万+

【DaVinci Developer实战指南】从入门到精通:软件组件设计与配置全解析

本文详细解析了DaVinci Developer在汽车电子开发中的核心应用,从软件组件设计到配置实战,涵盖Application SWC创建、RunnableEntity设计及Exclusive Area配置等关键环节。通过实际案例分享,帮助开发者快速掌握AUTOSAR架构下的ECU软件开发技巧,提升工作效率与系统稳定性。

weixin_30952535的博客 249

新手必看:如何用T265和ROS实现无人机室内精准定位(附PX4参数配置)

本文详细介绍了如何使用Intel Realsense T265和ROS实现无人机室内精准定位,包括硬件准备、ROS数据流架构设计、PX4参数配置及系统验证。特别针对视觉SLAM技术在室内环境中的应用,提供了从零搭建到进阶优化的全流程解析,适合无人机开发新手快速上手。

weixin_30642561的博客 404

[OpenCV] cv::VideoCapture中read和grab+retrieve的区别

说明: read:直接获取下一帧数据编码后的图像。 grab+retriebe:获取下一帧的数据(grab)到一个用户无法访问的内存区,根据通道号进行编码生成相应的图像(retrieve)。 例子: 立体摄像机(stereo camera)中,每一帧图像都拥有两个,获取下一帧数据这个动作很快,但是进行编码这个动作却没那么快,那么如果直接调用read,就会导致两个图像不同步。但是如果我们先通过grab把数据从设备中拿出来,在启动2个线程分别生成两个图像(retrieve可以通过参数指定通道号),那

ykun089的博客 5361

使用Typora时LaTeX内联公式简单汇总

0、前言 在使用Typora写笔记时,有时候需要添加上LaTeX排版的公式。以下是整理出的一份简单笔记,方便记忆不清楚时查阅。笔记暂时不够完善,之后再补充。 注:有些公式语法KateX不能解析,但在Typora中可以使用(不用在意) 1、一些基本内联公式 位置关系 展示 LaTeX 说明 x2x^{2}x2 x^{2} 右上标 x2x_{2}x2​ x_{2} 右下标 2x{}^{2}x2x {}^{2}x 左上标 2x{}_{2}x2​x {}_{2}x 左下标

白白旧维的博客 4440

Opencv入门系列十一

Opencv入门系列十一 主要内容:摄像头(视频)处理 OpenCV提供了cv2.VideoCapture类和cv2.VideoWriter类来支持各种类型的视频文件。常用函数包括初始化、打开、帧捕获、释放、属性设置等,下面对这些函数进行简单的介绍。 1.VideoCapture类 1.1 构造函数 OpenCV为cv2.VideoCapture类提供了构造函数cv2.VideoCapture(),用于打开摄像头并完成摄像头(或者视频)的初始化工作。其语法格式为: ● “摄像头ID号”:摄像头的ID号码

qq_45893260的博客 757

在 RAP 中把业务对象“搬到网口上”:service definition 与 service binding 的全流程、范式与实战

本文解析了SAP ABAP开发中service definition和service binding的关键作用。service definition负责选择要暴露的CDS实体和行为,形成服务模型;而service binding则将服务绑定到具体协议(如OData),生成可访问的端点。两者分离带来三大优势:支持同一模型多重发布、降低环境迁移耦合度、强化安全治理。文章通过预订业务对象的端到端示例,展示了如何从CDS建模到生成Fiori Elements预览。最后以售后工单业务为例,说明这种架构如何支持内外服务

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 390

华为OD机试双机位C卷-MVP争夺战 (C/C++/Py/Java/Js/Go)

华为OD机试(机考)双机位C卷 【MVP争夺战】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - MVP争夺战,

qq_45776114的博客 1172

4.OpenCV视频处理

1.VideoCapture对象 cv::VideoCapture根据数据来源的不同,有三种构建方式: cv::VideoCapture::VideoCapture(const string& filename); //从视频文件获取数据 cv::VideoCapture::VideoCapture(int device); //从设备中获取 cv::VideoCapture::VideoCapture(); 如果打开成功cv::VideoCapture::isOpened()会返回true。请在

lx820的博客 5491

[特殊字符] RK3588 平台上基于 Panfrost 的 Mesa 驱动编译全过程

摘要: 本文详细记录了在RK3588平台(Ubuntu 20.04 aarch64)上编译基于Panfrost的Mesa驱动的全过程。内容包括:1)系统依赖安装;2)libdrm编译;3)Mesa配置参数优化;4)LLVM 15与SPIRV工具链的安装方法;5)SPIRV-Tools版本问题的解决方案;6)最终编译命令及常见错误处理。关键点在于正确设置工具链路径(PKG_CONFIG_PATH)和版本匹配(LLVM 15对应SPIRV-LLVM-Translator v15.0.0),推荐将组件安装在/op

梁俊星的博客 941

【opencv】HighGUI图形用户界面初步

在新版本的OpenCV2中,最简单的图像载入和显示只需要两句代码,非常便捷。这两句代码分别对应了两个函数,它们分别是imread()以及imshow()。

Antonio915的博客 1052

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

OpenCV下的图形交互和媒体接口HighGUI

OpenCV下的图形交互和媒体接口HighGUI

Keep_Trying_Go的博客 960

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【OpenCV】highgui 模块:用于图像和视频的显示、交互以及基本输入/输出

OpenCV的highgui模块提供图像/视频显示、交互和文件操作功能,支持窗口管理、鼠标键盘事件处理及滑动条控件。核心功能包括图像显示(imshow)、视频读写(VideoCapture/VideoWriter)和用户交互(setMouseCallback)。该模块简单易用,适合快速开发计算机视觉应用原型,广泛用于调试、实时视频处理和交互式工具开发。示例代码展示了基础操作,如显示图像、播放视频和动态参数调整。注意:实际开发中建议结合Qt等GUI框架扩展功能。

彬彬侠的博客 1142

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C++下OpenCV学习笔记----HighGUI图形用户界面函数

Opencv学习笔记----函数(1) 文章目录Opencv学习笔记----函数(1)一.imread()二.imshow()三.namedWindow()四.imwrite()五.addWeighted()六. 一.imread() 二.imshow() 三.namedWindow() 四.imwrite() 五.addWeighted() 解释 void addWeighted(InputArray src1,double alpha,InputArray src2,double beta,doub

X_To_Y的博客 1899

细说HighGui

(一)HighGui是什么? HightGui是一个可以移植的图形工具包。   OpenCV将与操作系统,文件系统,摄像机之类的硬件进行交互的一些函数纳入HighGui(high-level graphical user interface)库中,有了HighGui,我们可以方便的打开窗口,显示图像,读出或者写入图像相关的文件(包含图像与视屏),处理简单的鼠标,光标和键盘事件。也可以使用Hig

李丽的博客 1万+

快速上手Opencv:HighGUI图形用户界面

Opencv3编程入门

m0_50127633的博客 3669

OpenCV HighGUI图形用户界面设计

OpenCV HighGUI图形用户界面设计 HighGUI模块为高层GUI图形用户界面模块,包含媒体的输入输出、视频捕捉、图像和视频的编码解码、图形交互界面的接口等内容。 1. opencv的.h文件 在写简单的OpenCV程序的时候,以下三句话可以作为标配 #include <opencv2/core/core.hpp> #include <opencv2/highgui/h...

qq_35066464的博客 1234

【opencv学习笔记四】opencv3.4.0图形用户接口highgui函数解析

【opencv学习笔记四】opencv3.4.0图形用户接口highgui函数解析 &nbsp; &nbsp;在笔记二中我们已经知道了,在highgui文件夹下的正是opencv图形用户接口功能结构,我们这篇博客所说的便是D:\Program Files\opencv340\opencv\build\include\opencv2\highgui\high...

人生几何的博客 1034

【opencv】HighGUI图形用户界面

HighGUI图形用户界面1.   图像的载入imread()函数Mat imread(const string&amp; filename, int flags=1 );  第一个参数,const string&amp;类型的filename,填我们需要载入的图片路径名。第二个参数,int类型的flags,为载入标识,它指定一个加载图像的颜色类型。flags存在两种取值方式:a) 枚举类型取值C...

NickCry的专栏 1065

【OpenCV3编程入门学习笔记】——第3章 HighGUI图形用户界面初步

文章目录前言3.1 图形的载入、显示和输出到文件3.1.1 OpenCV的命名空间3.1.2 Mat类简析3.1.3 图像的载入与显示概述3.1.4 图像的载入:imread()函数3.1.5 图像的显示:imshow()函数3.1.6 关于InputArray类型3.1.7 创建窗口:namedWindow()函数3.1.8 输出图像到文件:imwrite()函数3.1.9 综合示例程序:图像的载入、显示与输出3.2 滑动条的创建和使用3.2.1 创建滑动条:createTrackbar()函数3.2.2

繁臻的小窝 752

opencv图形用户界面HighGUI初识,图形读写、滑动条、鼠标操作

opencv图形读写、滑动条、鼠标操作1.opencv读图片并显示格式支持接口说明2.opencv写图片代码示例效果展示3.opencv滑动条代码示例:效果展示:4.opencv鼠标操作 1.opencv读图片并显示 格式支持 通过上面几行即可简单的显示一张图片,下面是cv支持的一些格式 Windows位图 - *.bmp, *.dib JPEG 文件- *.jpeg, *.jpg, *.jpe JPEG 2000 文件 - *.jp2 png文件 - *.png Web图片 - *.webp 便携文件格

haohaohaihuai的博客 814
上一篇: OpenCV学习笔记(九)——2维特征Feature2D
下一篇: OpenCV学习笔记(十一)——谈谈像素的类型和对Templates的限制使用
bitowang
博客等级 码龄18年 6粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值