Opencv关于滑动条bar操作的实例
代码如下:
////////////////////////////////////////////////////////////////////////
//
// 该程序产生一个窗口10s 如果在10s内滑动条移动到20则将lena.jpg图片加载到
// 窗口显示 满10s窗口销毁
//
////////////////////////////////////////////////////////////////////////
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <cv.h>
#include <highgui.h> void trackbarHandler() //自定义滑动条消息响应函数
{
IplImage* img = ; //定义图像文件指针,指向载入的原始图像
char Image_Filename[]; //输入图像文件的文件名
int pos = cvGetTrackbarPos("bar1","mainWin"); //获取滑动条当前的位置 //如果位置为20就显示图片
if(pos == )
{
printf("Trackbar position: %d\n",pos);
printf("Please input the filename of image:\n");
scanf("%s",Image_Filename); img=cvLoadImage(Image_Filename,); //载入图像函数,第一个参数为图像名称.第二个参数为辅助参数,
//有正,零,负三种值.正数表示以三通道图像载入(三通道即一个像素用3个字节表示),0表示
//以单通道载入图像,负数代表载入图像的通道数由图像本身决定. if(!img)
{
printf("Could not load image file: %s\n",Image_Filename);
exit();
} cvShowImage("mainWin", img ); //在之前创建的mainWin窗口中显示图像
cvReleaseImage(&img); //释放图像文件指针
return;
} } int main(int argc, char *argv[])
{
int trackbarVal=;
int maxVal=; cvNamedWindow("mainWin", ); //创建一个名称为mainWin的窗口,用于显示图像.CV_WINDOW_AUTOSIZE值为1
//表示固定窗口大小,若第二个参数为0表示窗口大小可变,图像也会随着窗口的大小而改变 cvMoveWindow("mainWin", , ); //设置窗口的位置,第一个参数为窗口的名字,后面两个参数为窗口显示的位置 cvCreateTrackbar("bar1", "mainWin", &trackbarVal ,maxVal , trackbarHandler);//在窗口mainWin上创建一个bar1滑动条,
//设置滑动条起始位置为10,最大值为50 //定义滑动条滑动时的响应函数为trackbarHandler
printf("The initial position is %d\n\n\n",trackbarVal); //输出滑动条起始位置 cvWaitKey(); //窗口仅仅产生10s就销毁 return ;
}
运行结果如下:
Opencv关于滑动条bar操作的实例的更多相关文章
- opencv:创建滑动条
函数原型: ,); #include <opencv.hpp> using namespace cv; #define WINDOW_NAME "线性混合示例" // ...
- opencv:通过滑动条调节亮度和对比度
示例代码: #include <opencv.hpp> using namespace cv; using namespace std; void on_change(int, void* ...
- OPENCV中滑动条的使用
//文中存在两种不同的图像的平滑类型.一类是彩色图像,还有一类是灰度图像.经证明,两种均能够 #include<cv.h> #include<highgui.h> #inclu ...
- Android开发手记(11) 滑动条SeekBar
安卓滑动条的操作特别简单,通过getProgress()可以获得SeekBar的位置,通过setProgress(int progress)可以设置SeekBar的位置.要想动态获取用户对SeekBa ...
- opencv学习之路(5)、鼠标和滑动条操作
一.鼠标事件 #include<opencv2/opencv.hpp> #include<iostream> using namespace cv; using namespa ...
- OpenCV——图像的载入、显示、输出到文件和滑动条、鼠标操作
图像的载入.显示.输出到文件和滑动条 滑动条 示例: 鼠标操作
- 利用OpenCV和MFC对话框建设一个有滑动条控制的播放器--转
(一)问题的提出: OpenCV有一个很简单的播放视频文件并加载滑动条的程序,但是如何用MFC对话框来创建一个有滑动条控制的播放器呢,网络上四处搜索都没有代码可以参考,下的都是些骗子链接文件,很过分, ...
- 滑动条 Trackbar[OpenCV 笔记9]
OpenCV中没有实现按钮的功能,我们可以利用滑动条来实现按钮功能. , ); trackbarname 轨迹条的名字. winname 窗口的名字,轨迹条会依附在这个窗口上. value 一个指向整 ...
- Android中ViewPager实现滑动条及与Fragment结合的实例教程
ViewPager类主要被用来实现可滑动的视图功能,这里我们就来共同学习Android中ViewPager实现滑动条及与Fragment结合的实例教程,需要的朋友可以参考下 自主实现滑动指示条先上一个 ...
随机推荐
- QThread与其他线程间相互通信
转载请注明链接与作者huihui1988 QThread的用法其实比较简单,只需要派生一个QThread的子类,实现其中的run虚函数就大功告成, 用的时候创建该类的实例,调用它的start方法即可. ...
- pragma pack(非常有用的字节对齐用法说明)
强调一点: #pragma pack(4) typedef struct { char buf[3]; word a; }kk; #pragma pack() 对齐的原则是min(sizeof(wor ...
- AngularJS中文介绍
简介 AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了.所以我做了一些工作(你也可以觉得是小 ...
- PHP伪静态与短链接
如今,Web服务高速发展的时代,各式各类的门户网站,如新浪http://www.sina.com.腾讯http://www.qq.com,这些网站大家都很容易记住,因为这种名称都是有规则和含义的.如果 ...
- Java中的native方法
博客引用地址:Java中的native方法 今天花了两个小时把一份关于什么是Native Method的英文文章好好了读了一遍,以下是我依据原文的理解. 一. 什么是Native Method 简单地 ...
- Linux 文件
Linux系统中:.a文件是静态链接库文件.所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分.当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪费了 ...
- myeclipse修改tomcat端口
myeclipse自带的tomcat可以直接在myeclipse下面进行配置,但是如果是配置的tomcat 只能自己手动修改了
- Android学习总结——实现Home键功能
实现Home键功能简而言之就是回到桌面,让Activity不销毁,程序后台运行. 实现方法: Intent intent= new Intent(Intent.ACTION_MAIN); intent ...
- poj 3436 (最大流)
题意:每台电脑共有p种零件,现在有n台机器,给出n台机器每台需要的一些种类零件当原料(0代表不需要,1代表必须要,2代表可有可无)和输出的产品零件.问怎么安排生产线使生产出来零件可以组装的电脑最多. ...
- lua 类继承和实现
http://blog.csdn.net/ssihc0/article/details/7742323 Account={balance=}; --新建了一个对像,他有一个属性balance func ...