当前位置: 首页 > article >正文

【OpenCV教程】Trackbar到底怎么用?

1.createTrackbar创建滚动条1.1 APICV_EXPORTS int createTrackbar(const String trackbarname, const String winname, int* value, int count, TrackbarCallback onChange 0, void* userdata 0);参数如下参数含义trackbarname滚动条名字winname(window name)窗体名字。要先用nameWindow创建好同名窗体滚动条才会出现value欲控制的变量的地址count欲控制的变量的最大值最小为0onChange回调函数默认为空。如果想要传入那么其参数是固定的userdata万能指针默认为空。如果想要传入通常用一个类的对象的地址。作为可使用的数据库用来给回调函数提供变量支持void onChange(int,void*);2.getTrackbarPos获得滚动条当前的值CV_EXPORTS_W int getTrackbarPos(const String trackbarname, const String winname);参数如下参数含义trackbarname滚动条名字winname(window name)窗体名字3.使用方式一(recommended)3.1 原理不使用createTrackbar函数的参数value、onChange、userdata参数。通过while(1)的无限循环在循环中不断地用getTrackbarPos函数动态地获取滚动条的值然后在循环内部用这些值进行操作。3.2 效果Mat xuenai imread(xuenai.jpg); imshow(xuenai,xuenai); namedWindow(xuenai_rotate); Mat xuenai_rotate(xuenai.size(), xuenai.type()); createTrackbar(angle,xuenai_rotate, nullptr,360); while (1) { int angle getTrackbarPos(angle,xuenai_rotate); Mat M getRotationMatrix2D(Point2f(xuenai.cols / 2, xuenai.rows / 2), angle, 1); warpAffine(xuenai, xuenai_rotate, M, xuenai.size()); imshow(xuenai_rotate,xuenai_rotate); waitKey(20); }4.使用方式二4.1 原理不使用getTrackbarPos函数使用createTrackbar的全部参数在onChange回调函数中完成所有操作由于回调函数的参数表是固定的因此需要userdata传入所需数据。在每次移动滚动条时相当于调用了一次回调函数就完成了操作。结尾没有waitKey(0)就显示不了多久。4.2 效果class TrackbarUserdata{ public: Mat input; Mat output; int angle0; string winname; }; void RotateonChange(int,void *userdata) { TrackbarUserdata *data (TrackbarUserdata *) userdata; int rows data-input.rows; int cols data-output.cols; Mat M getRotationMatrix2D(Point2f(rows / 2, cols / 2), data-angle, 1); warpAffine(data-input,data-output,M,data-input.size()); imshow(data-winname,data-output); waitKey(10); } int main(){ Mat xuenai imread(xuenai.jpg); imshow(xuenai,xuenai); Mat xuenai_rotate(xuenai.size(), xuenai.type()); TrackbarUserdata userdata; userdata.inputxuenai; userdata.outputxuenai_rotate; userdata.winnamexuenai_rotate; namedWindow(userdata.winname); createTrackbar(angle,userdata.winname, userdata.angle,360, RotateonChange,userdata); waitKey(); return 0; }

相关文章:

【OpenCV教程】Trackbar到底怎么用?

1.createTrackbar创建滚动条1.1 APICV_EXPORTS int createTrackbar(const String& trackbarname, const String& winname,int* value, int count,TrackbarCallback onChange 0,void* userdata 0);参数如下参数含义trackbarname滚动条名字winname(window name)窗体名字…...

零基础入门转录组上游分析——第四章(序列比对)

零基础入门转录组上游分析——第四章(序列比对) 目录零基础入门转录组上游分析——第四章(序列比对)1. 之前章节结果的查看1. 构建参考基因组索引2. 序列比对3. 压缩和排序XXX.sam文件4. 构建bam文件的索引(可选&#…...

Js2Py错误处理与调试:解决常见问题的终极指南

Js2Py错误处理与调试:解决常见问题的终极指南 【免费下载链接】Js2Py JavaScript to Python Translator & JavaScript interpreter written in 100% pure Python🚀 Try it online: 项目地址: https://gitcode.com/gh_mirrors/js/Js2Py Js2Py是…...

知识图谱构建实战:基于Knowledge-Graph项目的实体识别与关系抽取技术

知识图谱构建实战:基于Knowledge-Graph项目的实体识别与关系抽取技术 【免费下载链接】NLP-Knowledge-Graph 项目地址: https://gitcode.com/gh_mirrors/kn/Knowledge-Graph 知识图谱作为人工智能领域的重要技术,能够将复杂的信息转化为结构化的…...

数据存储与管理:QmlBook本地存储与SQL集成教程

数据存储与管理:QmlBook本地存储与SQL集成教程 【免费下载链接】qmlbook The source code for the upcoming qml book 项目地址: https://gitcode.com/gh_mirrors/qm/qmlbook QmlBook提供了全面的本地存储解决方案,帮助开发者轻松实现应用数据的持…...

OpenClaw浏览器自动化:Qwen3.5-9B爬取带图片的学术资料

OpenClaw浏览器自动化:Qwen3.5-9B爬取带图片的学术资料 1. 为什么需要自动化学术资料采集 上周我在研究量子计算的最新进展时,遇到了一个典型痛点:需要在十几个学术平台手动翻页、下载PDF、截图关键图表,再手工整理参考文献。这…...

从春晚到AWE:追觅与扫地机器人市场的“冰与火之歌”

2026年开年,扫地机器人行业呈现出耐人寻味的两极图景:一边是追觅凭借春晚效应交出全渠道市占第一的成绩单,另一边是洛图科技发布的行业数据显示,1-2月中国扫地机器人线上销量同比下降22.2%。在行业大盘承压的背景下,追觅为何能逆势增长?春晚这个国民级舞台,究竟如何改写…...

OpenClaw定时任务管理:千问3.5-27B实现智能闹钟与提醒

OpenClaw定时任务管理:千问3.5-27B实现智能闹钟与提醒 1. 为什么需要智能化的定时任务 上个月我差点错过一个重要会议——虽然设置了手机提醒,但当天临时调整的议程让原定时间完全失效。这种"静态闹钟失效"的痛点,促使我尝试用Op…...

蓝桥杯嵌入式15届国赛,轻松解决——附满分工程链接

蓝桥杯嵌入式15届国赛 前言 以下内容仅代表个人观点,基于有限的经验和认知整理而成。每个人的视角和背景不同,观点难免存在差异或局限。若存在疏漏或不足之处,欢迎指正与探讨,但请多一份包容。希望通过这些思考,能激…...

数字生成器(骰子模拟器)

输入两个数(a,b)&#xff0c;随机输出一个在a与b之间的数#include <bits/stdc.h> using namespace std;int main( ) {int c, j, r;cin >> c >> j;srand((unsigned)time(nullptr));for (int i 0; i < 1; i) {r rand() % c j - c;cout << r <&l…...

OpenClaw模型微调指南:优化Qwen2.5-VL-7B特定场景图文识别准确率

OpenClaw模型微调指南&#xff1a;优化Qwen2.5-VL-7B特定场景图文识别准确率 1. 为什么需要微调Qwen2.5-VL-7B 去年我在做一个电商商品自动分类项目时&#xff0c;发现现成的多模态模型在识别特定品类商品时表现不佳。比如把"蓝牙耳机"识别成"助听器"&am…...

OpenClaw+Phi-3-mini-128k-instruct:自动化竞品分析报告生成器

OpenClawPhi-3-mini-128k-instruct&#xff1a;自动化竞品分析报告生成器 1. 为什么需要自动化竞品分析 作为一位连续创业者&#xff0c;我深知保持市场敏感度的重要性。每周手动检查竞品网站、整理产品更新、制作分析报告&#xff0c;这个过程既耗时又容易遗漏关键信息。直到…...

tmi8150b设置电机速度有两个地方,x轴电机,y轴电机,具体如下

tmi8150b设置电机速度有两个地方&#xff0c;x轴电机&#xff0c;y轴电机&#xff0c;具体如下x轴电机y轴电机...

二极管保护电路设计与应用指南

1. 项目概述&#xff1a;二极管保护电路的必要性 在电子电路实验中&#xff0c;线圈类负载&#xff08;如继电器、电磁阀、电机绕组&#xff09;突然断电时产生的反向电动势&#xff0c;一直是工程师们头疼的问题。这种瞬间高压轻则导致触点火花缩短器件寿命&#xff0c;重则直…...

PyCharm 2026.1 高效配置指南:从零打造极致顺滑的 Python 开发环境

PyCharm 2026.1 高效配置指南&#xff1a;从零打造极致顺滑的 Python 开发环境 网盘下载 0. 前言 在 2026 年&#xff0c;PyCharm 2026.1 依然是 Python 开发领域的“天花板”。无论是对 Python 3.13 新特性的完美支持&#xff0c;还是深度集成的本地 AI 代码预测引擎&#…...

优启通 WINPE 如何创建桌面快捷方式?【详细图文教程】

&#x1f525;个人主页&#xff1a;杨利杰YJlio❄️个人专栏&#xff1a;《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》&#x1f31f; 让复杂的事情更…...

mutt-wizard疑难排解终极指南:常见错误与解决方案完全清单

mutt-wizard疑难排解终极指南&#xff1a;常见错误与解决方案完全清单 【免费下载链接】mutt-wizard A system for automatically configuring mutt and isync with a simple interface and safe passwords 项目地址: https://gitcode.com/gh_mirrors/mu/mutt-wizard mu…...

LexikJWTAuthenticationBundle源码解析:深入理解JWT认证实现原理

LexikJWTAuthenticationBundle源码解析&#xff1a;深入理解JWT认证实现原理 【免费下载链接】LexikJWTAuthenticationBundle JWT authentication for your Symfony API 项目地址: https://gitcode.com/gh_mirrors/le/LexikJWTAuthenticationBundle LexikJWTAuthenticat…...

React Native Collapsible高级技巧:10个优化动画性能的方法

React Native Collapsible高级技巧&#xff1a;10个优化动画性能的方法 【免费下载链接】react-native-collapsible Animated collapsible component for React Native, good for accordions, toggles etc 项目地址: https://gitcode.com/gh_mirrors/re/react-native-collaps…...

OpenClaw定时任务实战:用Phi-3-vision-128k-instruct每日自动生成图文日报

OpenClaw定时任务实战&#xff1a;用Phi-3-vision-128k-instruct每日自动生成图文日报 1. 为什么需要自动化日报系统 每天早晨打开电脑&#xff0c;第一件事就是手动整理前一天的各类数据——项目进度、系统日志、团队协作记录&#xff0c;然后花半小时拼凑成一份图文并茂的日…...

Zip框架快速上手:如何在Swift项目中实现文件压缩与解压

Zip框架快速上手&#xff1a;如何在Swift项目中实现文件压缩与解压 【免费下载链接】Zip Swift framework for zipping and unzipping files. 项目地址: https://gitcode.com/gh_mirrors/zi/Zip Zip是一款专为Swift开发者设计的高效文件压缩与解压框架&#xff0c;它提供…...

前端-Node.js

1. 什么是Node.jsNode.js是一个跨平台JavaScript运行环境&#xff0c;使开发者可以搭建服务器端的JavaScript应用程序。作用&#xff1a;使用Node.js编写服务端程序。编写数据接口&#xff0c;提供网页资源浏览功能等等。前端工程化&#xff1a;为后续学习Vue和React等框架做铺…...

【MATLAB源码-第405期】基于matlab的OFDM深度学习信道估计仿真,对比LS,MMSE,CNN,LSTM、Transformer.

操作环境&#xff1a;MATLAB 2024a1、算法描述摘要 OFDM作为现代无线通信系统中极具代表性的多载波传输技术&#xff0c;因其频谱利用率高、抗多径能力强以及易于与高速数字信号处理技术结合等优点&#xff0c;被广泛应用于宽带移动通信、无线局域网、卫星通信以及新一代智能通…...

科研党必备:OpenClaw+Kimi-VL-A3B-Thinking自动解析论文图表数据

科研党必备&#xff1a;OpenClawKimi-VL-A3B-Thinking自动解析论文图表数据 1. 为什么需要自动化论文图表解析 作为一名经常需要阅读大量文献的科研人员&#xff0c;我发现自己花费在论文图表数据提取上的时间越来越多。传统的手动记录数据点、绘制趋势图的方式不仅效率低下&…...

千问3.5-9B微调实战:让OpenClaw更好理解技术文档

千问3.5-9B微调实战&#xff1a;让OpenClaw更好理解技术文档 1. 为什么需要微调千问3.5-9B 去年冬天&#xff0c;当我第一次尝试用OpenClaw自动化处理技术文档时&#xff0c;遇到了一个尴尬的问题——这个聪明的AI助手经常把我的"将Markdown表格转成CSV"指令误解为…...

OpenClaw+Phi-3-vision-128k-instruct:自动化产品说明书生成

OpenClawPhi-3-vision-128k-instruct&#xff1a;自动化产品说明书生成 1. 为什么需要自动化文档生成 作为一名技术文档工程师&#xff0c;我每天都要面对大量产品说明书的编写工作。传统流程需要手动收集产品图片、整理参数表格、撰写使用说明&#xff0c;整个过程耗时费力。…...

终极异步通信利器aleph:Clojure高性能网络编程完全指南

终极异步通信利器aleph&#xff1a;Clojure高性能网络编程完全指南 【免费下载链接】aleph Asynchronous streaming communication for Clojure - web server, web client, and raw TCP/UDP 项目地址: https://gitcode.com/gh_mirrors/al/aleph aleph是一款为Clojure开发…...

dateutil高级用法:如何自定义解析器、扩展时区功能和创建复杂规则

dateutil高级用法&#xff1a;如何自定义解析器、扩展时区功能和创建复杂规则 【免费下载链接】dateutil Useful extensions to the standard Python datetime features 项目地址: https://gitcode.com/gh_mirrors/da/dateutil dateutil是Python中一个强大的日期时间处理…...

Beyond All Reason代码架构分析:理解Spring引擎上的游戏开发模式

Beyond All Reason代码架构分析&#xff1a;理解Spring引擎上的游戏开发模式 【免费下载链接】Beyond-All-Reason Main game repository for Beyond All Reason. 项目地址: https://gitcode.com/gh_mirrors/be/Beyond-All-Reason Beyond All Reason&#xff08;简称BAR&…...

如何快速上手nomacs:10个必备技巧让图像浏览更高效

如何快速上手nomacs&#xff1a;10个必备技巧让图像浏览更高效 【免费下载链接】nomacs nomacs is a free image viewer for windows, linux, and mac systems. 项目地址: https://gitcode.com/gh_mirrors/no/nomacs nomacs是一款免费开源的图像查看器&#xff0c;支持W…...