广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    如何使用鼠标绘制一个矩形

    来源:网络收集  点击:  时间:2024-04-05
    【导读】:
    今天的这篇经验和大家聊一聊关于如何使用鼠标绘制一个矩形的问题,希望能够帮助到有需要的朋友。方法/步骤1/5分步阅读

    鼠标相应事件采用了回调函数的方式来处理。为了可以响应鼠标事件,首先创建一个回调函数,使得鼠标事件(如移动、点击等)发生时OpenCV可以调用这个函数。创建这个函数之后,还要在OpenCV中注册这个函数。

    鼠标事件的回调函数格式为:

    2/5

    当回调函数被调用时,OpenCV就给上述函数传入合适的值,其中参数event为具体鼠标事件(是一系列以CV_EVENT_开头的宏定义,例如鼠标移动事件为CV_EVENT_MOUSEMOVE)。参数x、y为鼠标位置像素坐标值。参数flags指定了事件发生时的不同状态(如是否按下SHIFT键等,是一系列以CV_EVENT_FLAG_开头的宏定义)。参数param指向任何结构来传递额外的参数信息。

    3/5

    第一个参数window_name指定了要注册到的窗口。第二个参数是回调函数。第三个参数用来传递额外的信息给上面的void* param参数。

    以下是一个简单的例程,为了说明清楚做了尽可能详尽的注释。

    4/5

    值得注意的是,在创建画矩形的背景(IplImage类的image)后,又将其赋给另一个同类矩阵temp,目的是避免移动鼠标的过程中一系列矩形留在画板上。具体实现的流程如下:

    1. 鼠标移动,触发调用回调函数和绘制矩形函数,在temp上画矩形;

    2. 在窗口中显示temp;

    3. 用image更新temp,回到流程1。

    这样,在鼠标移动的过程中,只存在一个随鼠标移动的矩形,而不是一系列矩形,松开鼠标左键即完成绘制,示意图如下:

    5/5

    在循环中每次更新背景

    注意事项

    以上内容和图片整理自互联网,为帮助到更多有需要的朋友所以整理在这里分享,如果侵犯版权,请联系网站进行删除。

    鼠标
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_428293.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 18:52:53  耗时:0.025
    0.0249s