今天在开发opencv项目的时候,需求是:视频实时播放,鼠标点击某处,新窗口放大播放局部视频。
这里遇到的问题是:需要用opencv获取鼠标。
背景:opencv有自带的鼠标回调函数,而且它的on_Mouse()函数是封装好的,有五个形参,其中就有鼠标的位置x和y在形参中。
可是 on_Mouse()函数是void型,没有返回值。

问题转化为:我需要用on_Mouse()函数有的鼠标位置,传到另一个函数(要使用的地方)。

解决办法是:定义两个全局变量,在on_Mouse()函数内部传出来。

int X, Y;//鼠标坐标全局变量

下面是opencv自带的配合鼠标函数的函数on_Mouse()。需要的就是两个形参

void on_Mouse(int event, int x, int y, int flag, void*ustc) {//形参x,y是鼠标点击的位置//需要鼠标的位置if (event == CV_EVENT_LBUTTONDOWN){cout << "下面进行鼠标位置的获取" << endl;cout << "鼠标坐标为:" << x << "和" << y << endl;X = x;//把局部变量传出来变成全局变量Y = y;}
}

在主函数中使用鼠标回调函数

setMouseCallback("src1", on_Mouse, 0);//调用鼠标回调函数
//这里的窗口名称是src1

记录一下自己踩得坑。怎么把局部变量传出来。或者传出来了,用的时候用错了。

c++(和opencv)如何把局部变量变成全局变量的功能相关推荐

  1. C++ 笔记(06)— 变量作用域(局部变量、全局变量、静态局部变量)

    作用域是程序的一个区域,一般来说有三个地方可以定义变量: 在函数或一个代码块内部声明的变量,称为局部变量: 在函数参数的定义中声明的变量,称为形式参数: 在所有函数外部声明的变量,称为全局变量: 1. ...

  2. 理解LoadRunner中的局部变量和全局变量

    以下内容均选自个人作品:<精通软件性能测试与LoadRunner实战>   在C语言中,变量有效性的范围称变量的作用域.不仅对于形参变量,C语言中所有的量都有自己的作用域,按作用域范围不同 ...

  3. 静态局部变量和全局变量的区别!

    静态局部变量和全局变量的区别! C++变量根据定义位置的不同,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名作用域和文件作用域. 1.从作用域看: (1)全局变 ...

  4. java 全局变量_Javascript中的局部变量、全局变量的详解与var、let的使用区别

    前言 Javascript中的变量定义方式有以下三种方式: 1.直接定义变量,var与let均不写: a = 10; 2.使用var关键字定义变量 var a = 10; 3.使用let关键字定义变量 ...

  5. python变量进阶(可变不可变,局部变量和全局变量)

    变量进阶(理解) 目标 变量的引用 可变和不可变类型 局部变量和全局变量 01. 变量的引用 变量 和 数据 都是保存在 内存 中的 在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引 ...

  6. C语言局部变量与全局变量

    变量,可以定义在函数内,也可以定义在函数外 定义在不同位置的变量,作用域也是不同的 C语言中,按作用域范围可以分为局部变量.全局变量2种类型 局部变量 局部变量就是在函数内部声明的变量,它只在本函数内 ...

  7. Python中局部变量和全局变量的详解

    1.局部变量 定义: 局部变量,就是在函数内部定义的变量 约束: 其作用范围是这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的 实例: def test1():a = 120print( ...

  8. A13在c语言中是合法变量吗,C语言中局部变量和全局变量等在内存中的存放位置.doc-资源下载在线文库www.lddoc.cn...

    C语言中局部变量和全局变量_等在内存中的存放位置.doc C 语言中局部变量和全局变量 变量的存储类别static,extern,auto,register 8.8 局部变量和全局变量在讨论函数的形参 ...

  9. Python老男孩 day15 函数(二) 局部变量与全局变量

    https://www.cnblogs.com/linhaifeng/articles/6113086.html -------------------------------------- 五.局部 ...

最新文章

  1. php运行显示中文乱码,如何解决PHP界面显示中文乱码的问题
  2. amd一点也不yes_最不值得买的高端显卡!RTX3080从真香变成了鸡肋?
  3. spring-wind 搭建过程问题记录
  4. vista下载_Vista和视图在游戏设计中的功能
  5. 原生JS获取元素属性值
  6. redis事务乐观锁,watch
  7. C1083: 无法打开包括文件: “stdafx.h”: No such file or directory
  8. SaaS服务和个性化需求,就不能鱼和熊掌兼得吗?
  9. 基于Java的超市商品管理系统
  10. 软件构造之java类图
  11. 算法题:矩阵修改为黑白矩阵
  12. np.ones用法总结
  13. angular2 全局路由守卫_Angular 路由守卫
  14. java实现大文件切割分片
  15. OVER(PARTITION BY)函数介绍
  16. c语言用while语句计算圆周率的近似值,编程计算圆周率的近似值
  17. 如何升级自己的思维,成为你想成为的自己? ----《少有人走的路》讀後感
  18. 2017免费发布信息平台排行大全!
  19. ajax、php、json异步数据处理
  20. oracle创建用户赋予访问某一视图的权限

热门文章

  1. 并查集(disjoint set)的实现及应用
  2. C#学习笔记——数据库篇(1)
  3. numix Docky
  4. 获取异常信息e.printStackTrace()的内容
  5. window7 telnet localhost 5554
  6. wordpress如何让百度快速收录_百度快速收录权益获取与使用说明
  7. linux查看usb设备文件,linux – 确定USB设备文件路径
  8. java 反射 Gc_深入浅析Java反射机制
  9. 【控制】《多智能体系统一致性协同演化控制理论与技术》纪良浩老师-第14章-带通信和输入时延的异构竞争多智能体系统分组一致性
  10. Ardino基础教程 20_红外遥控