opencv 鼠标操作

本文介绍了如何在OpenCV中设置和使用鼠标中断函数,包括定义中断回调函数、注册回调函数以及解析中断参数,特别强调了void* param参数的用途。

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

    opencv的鼠标操作是以中断的方式进行,即鼠标作一次动作(点击、移动)则进入中断函数。

    一、中断函数设置步骤如下:

        1.定义中断函数:

                       void my_mouse_call_back(int event, int x,int y,int flags,void* param){函数内容}

   2.在主程序中注册回调函数

         cvSetMouseCallback(const char* windowname,

                            CvMouseCallback my_mouse_call_back,

                            void* param);

         第一个参数指定了回调函数需要注册到的窗口,第二个参数为回调函数,第三个参数为用户可以自己使用的参数。

二、中断函数定义

    参数event为鼠标事件类型

 

    参数x,y为触发事件时的鼠标位置。

    flag 参数没用过,想用看书。

三、void* param 参数的使用

    这个参数挺有用的,以不定格式指针传入回调函数。

    若param 为int格式,则先定义int a变量,再以指针指向a, int* p_a=&a;

    然后,可以调用函数声明函数

             cv::setMouseCallback("window",my_mouse_callback,p_a);
  在回调函数中获取void* param 的方法:
       将param的格式转换成所需格式 
       int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值