【OpenCV • c++】滑动条的创建和使用

news/2024/10/23 18:25:12/

  • 🚀 个人简介:CSDN「博客新星」TOP 10 , C/C++ 领域新星创作者
  • 💟 作    者:锡兰_CC ❣️
  • 📝 专    栏:【OpenCV • c++】计算机视觉
  • 🌈 若有帮助,还请关注➕点赞➕收藏,不行的话我再努努力💪💪💪

文章目录

    • 什么是滑动条
    • 创建滑动条
      • 参考代码
    • 获取当前滑动条位置
      • 参考代码

什么是滑动条

  滑动条是 OpenCV 动态调节参数特别好用的工具,它依附于窗口而存在。

创建滑动条

  在 OpenCV 中,可以使用createTrackbar函数来创建一个可以调整数值的滑动条,并将滑动条附加到指定的窗口上。

参考代码

int createTrackbar(const string & trackbarname, const string & winname, int * value, int count, TrackbarCallback onChange = 0, void * userdata = 0)

  其中,trackbarname表示我们创建的滑动条的名字。winname表示这个滑动条吸附在的窗口的名字。value表示滑块的位置,在创建时,滑块的初始位置就是该变量的值。count表示滑块可以到达的最大值,最小值始终为 0。onChange表示指向回调函数的指针,每次滑块位置改变时,这个函数都会进行回调。回调的类型为void xx(int, void*),其中第一个参数表示轨迹条的位置,第二个参数表示用户数据userdatauserdate表示传给回调函数的用户数据。

#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc_c.h>
#include <opencv2/imgproc/types_c.h>
#include<opencv2/imgproc.hpp> 
#include<iostream>
using namespace std;
using namespace cv;Mat image, srcImage;
int thresholds = 50;void threshold_track(int, void*) {Mat result;threshold(srcImage, result, thresholds, 255, THRESH_BINARY);//Canny(srcImage, result, thresholds, thresholds * 3, 3);imshow("边缘检测", result);
}int main() {image = cv::imread("...cc.png");if (!image.data)return 1;cvtColor(image, srcImage, COLOR_BGR2GRAY);namedWindow("边缘检测", WINDOW_AUTOSIZE);createTrackbar("阈值", "边缘检测", &thresholds, 300, threshold_track);waitKey(0);return 0;
}

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

获取当前滑动条位置

  在 OpenCV 中,可以使用getTrackbarPos()函数来获取当前滑动条的位置。

参考代码

int getTrackbarPos(const string& trackbarname, const string& winname);

  其中第一个参数表示滑动条的名字,第二个参数表示轨迹条的父窗口的名称。

其他

更多专栏订阅:

  • 👍 【开卷数据结构】
  • 💛 【备战蓝桥,冲击省一】
  • 💕   从零开始的 c++ 之旅
  • 💖 【OpenCV • c++】计算机视觉

http://www.ppmy.cn/news/212898.html

相关文章

Vivado时序约束基础

今天这篇博客&#xff0c;笔者向大家简单介绍Xilinx FPGA中的Vivado时序约束基础知识&#xff0c;也为后续的学习打好铺垫。 Xilinx Design Constraints (XDC) 概述 • XDC 在本质上就是Tcl 语言&#xff0c;但其仅支持基本的Tcl 语法&#xff0c;如变量、列表和运算符等等&a…

十代思域遥控升降窗 - 远程开窗

降窗步骤 按一下车钥匙的“锁止”键在10秒内再按住“锁止”键不放&#xff0c;即可持续降窗&#xff0c;松手就停止如果想再降低点&#xff0c;可以重复以上步骤 升窗步骤 低配好像无法远程升窗。。。 需要走过去&#xff0c; 电子钥匙解锁拔开金属钥匙&#xff0c;插入主驾…

基于单片机的无线红外遥控密码锁系统设计

1.密码输入正确可以选择打开或者关闭密码锁 2.密码支持掉电保存功能 3.可以设置修改密码&#xff08;修改之前必须输入原始密码&#xff0c;在输入新密码是要输入两次确认&#xff0c;防止误操作&#xff09; 4.报警、锁定键盘功能&#xff0c;如果密码连续输入错误三次&…

手机智能汽车钥匙来了, 汽车远程启动在手机上就能完成

手机远程控制汽车-为大家提供远程控制解决方案。汽车手机远程控制&#xff0c;移动管家一键启动无钥匙进入系统,15年汽车智控行业技术积淀,百万企业用户合作,深入各种行业及实际应用场景,提供多行业解决方案,汽车智控想到移动管家汽车一键启动无钥匙进入手机控车远程启动系统。…

人脸识别门锁实现

python实现人脸识别并进行比对串口反馈至51单片机控制舵机 C语言库&#xff1a;CORE\STC8Ax_REG.H python库&#xff1a; from multiprocessing.connection import wait from time import sleep import cv2 import numpy as np from PIL import Image from functools import…

离线语音远程遥控车控门制作教程(二)

离线语音远程遥控车控门制作教&#xff08;二&#xff09; 序言 接 离线语音远程遥控车控门制作教程&#xff08;一&#xff09;&#xff0c;本篇为自己动手画PCB,功能和一是一样。 功能&#xff1a; 1、遥控器端可以用按钮控制。 2、用离线语音模块语音控制。 3、车库门接收…

iOS - 蓝牙开门智能门锁

蓝牙的实现原理网上很多 在此就不一一描述了 有需要的可以看以下的文章学习 在ios 的开发中iBeacon和BLE的区别 iBeacon介绍 iOS蓝牙空中升级&#xff08;固件升级&#xff09; 本文主要是写实现过程&#xff1a; github 上完整Demo地址&#xff0c;大家可以下载看看&…

什么叫做车联网手机远程控制汽车

车联网系统智能硬件、操作系统、通过OBD盒子读取车辆信息&#xff0c;传送至云平台&#xff0c;通过运算&#xff0c;将信息或诊断结果、解决方法建议发送至手机APP等操作系统&#xff0c;使车辆和APP形成连接&#xff0c;用户可随时进行自检读取汽车信息。 俗话说“好马配好鞍…