• Opencv关于滑动条bar操作的实例


    代码如下:

     1 ////////////////////////////////////////////////////////////////////////
     2 //
     3 // 该程序产生一个窗口10s 如果在10s内滑动条移动到20则将lena.jpg图片加载到
     4 // 窗口显示 满10s窗口销毁
     5 //
     6 ////////////////////////////////////////////////////////////////////////
     7 #include <stdlib.h>
     8 #include <stdio.h>
     9 #include <math.h>
    10 #include <cv.h>
    11 #include <highgui.h> 
    12 
    13 
    14 void trackbarHandler()    //自定义滑动条消息响应函数
    15 {
    16     IplImage* img = 0;    //定义图像文件指针,指向载入的原始图像
    17     char Image_Filename[20];  //输入图像文件的文件名
    18     int pos = cvGetTrackbarPos("bar1","mainWin"); //获取滑动条当前的位置
    19 
    20     //如果位置为20就显示图片
    21     if(pos == 20)
    22     {
    23         printf("Trackbar position: %d
    ",pos);
    24         printf("Please input the filename of image:
    ");
    25         scanf("%s",Image_Filename);    
    26 
    27 
    28         img=cvLoadImage(Image_Filename,0); //载入图像函数,第一个参数为图像名称.第二个参数为辅助参数,
    29                         //有正,零,负三种值.正数表示以三通道图像载入(三通道即一个像素用3个字节表示),0表示
    30                         //以单通道载入图像,负数代表载入图像的通道数由图像本身决定.
    31 
    32         if(!img)
    33         {
    34             printf("Could not load image file: %s
    ",Image_Filename);
    35             exit(0);
    36         } 
    37 
    38 
    39         cvShowImage("mainWin", img ); //在之前创建的mainWin窗口中显示图像 
    40         cvReleaseImage(&img);  //释放图像文件指针
    41         return;
    42     }
    43     
    44 }
    45 
    46 int main(int argc, char *argv[])
    47 {
    48     int trackbarVal=10;
    49     int maxVal=50;
    50 
    51     cvNamedWindow("mainWin", 0);   //创建一个名称为mainWin的窗口,用于显示图像.CV_WINDOW_AUTOSIZE值为1    
    52                     //表示固定窗口大小,若第二个参数为0表示窗口大小可变,图像也会随着窗口的大小而改变
    53 
    54     cvMoveWindow("mainWin", 200, 200);  //设置窗口的位置,第一个参数为窗口的名字,后面两个参数为窗口显示的位置
    55 
    56 
    57     cvCreateTrackbar("bar1", "mainWin", &trackbarVal ,maxVal , trackbarHandler);//在窗口mainWin上创建一个bar1滑动条,
    58                                             //设置滑动条起始位置为10,最大值为50
    59 
    60                                             //定义滑动条滑动时的响应函数为trackbarHandler
    61     printf("The initial position is %d
    
    
    ",trackbarVal);  //输出滑动条起始位置
    62 
    63     cvWaitKey(10000);  //窗口仅仅产生10s就销毁
    64 
    65     return 0;
    66 }


    运行结果如下:

  • 相关阅读:
    找回密码
    找回密码,注册
    登陆
    返回与Table结构相同的DataTable副本
    同步表
    同步按照NewTable中ID存储情况将数据按照规则同步至OldTable,并清空OldTable中多余数据行,返回错误消息
    Page.IsPostBack
    GridView中点击某行的任意位置就选中该行
    c#后台计算2个日期之间的天数差
    分页存储过程,连接查询
  • 原文地址:https://www.cnblogs.com/vpoet/p/4659613.html
Copyright © 2020-2023  润新知