• Opencv 学习笔记之——鼠标,进度条操作


    Opencv中提供一个鼠标调用的函数,SetMouseCallback()函数,它配合一个回调函数来实现鼠标操作的功能。

     

    首先看一下SetMouseCallback的函数原型:

    c++: void setMousecallback(const string& winname, MouseCallback onMouse, void* userdata=0)

     

    下面具体介绍一下各个参数的含义:

    void setMousecallback

    (

    const string& winname, //这个参数为你的鼠标操作的窗口名称,例如你指定的窗口叫"阿三"

    MouseCallback onMouse, //在你指定的"阿三"这个窗口里发生鼠标操作时,被调用的函数指针

    void* userdata //当你调用上面的函数指针时,如果你有一个参数(例如变量"阿猫")要给调用函数,就是这货了

    )

     

    下面要介绍那个回调函数的原型:

     void on_Mouse(int event, int x, int y, int flags, void* param)

     

    下面介绍一下各个参数的含义:

     void on_Mouse

    (

    int event, //这个参数是 CV_EVENT_*变量之一(用来标识鼠标的各种操作。移动,左键按下,右键按下等)

    int x, int y, //鼠标指在图像坐标系上的坐标,(注意一点是图像的坐标系,不是窗口坐标系)

    int flags, //CV_EVENT_FLAG的组合

    void* param //用户定义的要给回调函数的调用的参数(上面的"阿猫");

    );

     

    Event代表的是鼠标回传的事件号码,每当鼠标有动作,Event就会回传一个整数信息到on_Mouse(),也顺便回传鼠标移动的坐标,flags代表的是拖曳事件,而鼠标事件的执行可以细分的分类为

     

     

    定义的CV_EVENT_*

    #define CV_EVENT_MOUSEMOVE      0 //鼠标滑动

    #define CV_EVENT_LBUTTONDOWN    1 //左键点击

    #define CV_EVENT_RBUTTONDOWN    2 //右键点击

    #define CV_EVENT_MBUTTONDOWN    3 //中键点击

    #define CV_EVENT_LBUTTONUP      4 //左键放开

    #define CV_EVENT_RBUTTONUP      5 //右键放开

    #define CV_EVENT_MBUTTONUP      6 //中键放开

    #define CV_EVENT_LBUTTONDBLCLK  7 // 左键双击

    #define CV_EVENT_RBUTTONDBLCLK  8 //右键双击

    #define CV_EVENT_MBUTTONDBLCLK  9 //中键双击

       

     

    定义的CV_EVENT_FLAG_*

     

    #define CV_EVENT_FLAG_LBUTTON   1 // 左键拖曳

    #define CV_EVENT_FLAG_RBUTTON   2 //右键拖曳

    #define CV_EVENT_FLAG_MBUTTON   4 // 中键拖曳

    #define CV_EVENT_FLAG_CTRLKEY   8 //按Ctrl不放事件

    #define CV_EVENT_FLAG_SHIFTKEY  16 // 按Shift不放事件

    #define CV_EVENT_FLAG_ALTKEY    32 // 按Alt不放事件

     

     

     

     

     

     

  • 相关阅读:
    关于抑或
    【vue】条件渲染 v-if v-else
    【vue】vue的目录结构、项目流程、vue-router
    【vue】在vue中引入iview
    【vue】vue如何创建一个项目
    【jquery】jquery怎么实现点击一个按钮控制一个div的显示和隐藏
    【angularjs】ng-model controller中取不到值(input)
    打印机增强软件pdfpro
    vagrant 安装ubuntu12.04 64 bit
    debian 7 stable 不能编译android源码
  • 原文地址:https://www.cnblogs.com/xujianqing/p/5345057.html
Copyright © 2020-2023  润新知