OpenCV学习笔记-应用trackbar实现按钮功能

本文介绍如何在OpenCV中利用滑动条实现双状态切换功能,通过实例展示了从加载图像到使用滑动条控制显示不同图像的完整过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在OpenCV中,没有显示提供按钮。经常采用的方法是用只有两个状态的滑动条来实现。

例如,设置一个switch,有两个状态,分别为0和1.通过滚动条的回调函数实现调用。

实现例题如下:

#include "stdafx.h" #include "highgui.h" int g_switch_value=0; IplImage* img0; IplImage* img1; void switch_function(int position) { cvSetTrackbarPos("Switch","Demo Window",position); //设定滑动条的位置 } void switch_callback(int position) //滑动条的回调函数 { if(position==0) { switch_function(0); cvShowImage("Demo Window",img0); } else { switch_function(1); cvShowImage("Demo Window",img1); } } int main(int argc,char* argv[]) { cvNamedWindow("Demo Window",1); img0=cvLoadImage("a.bmp"); img1=cvLoadImage("b.bmp"); cvShowImage("Demo Window",img0); //开始加载img0 cvCreateTrackbar("Switch","Demo Window",&g_switch_value,1,switch_callback); while(1) { if(cvWaitKey (15)==27) break; //按Esc退出 } cvReleaseImage(&img0); cvReleaseImage(&img1); cvDestroyWindow("Demo Window"); return 0; }


参考资料:

1.http://hi.baidu.com/yuzaihuan/blog/item/c7135812a625a85d21a4e968.html

2.学习OpenCV(中文版),于仕祺,刘瑞祯,清华大学出版社,pp.117-120

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值