zoukankan      html  css  js  c++  java
  • 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 }


    运行结果如下:

  • 相关阅读:
    JQuery 点击子控件事件,不会触发父控件的事件
    JQuery对Style和css设置
    2019vue学习视频(入门到精通)
    新建一个vue项目
    FIS3 构建
    node环境变量
    阿里云重启ssh
    msf 获取session 之后
    acccheck (暴力破解使用SMB协议的Windows密码)
    利用 Cut 指定输出内容
  • 原文地址:https://www.cnblogs.com/vpoet/p/4659613.html
Copyright © 2011-2022 走看看