在类中调用opencv的setMouseCallback
来源:互联网 发布:盛世汉桥 知乎 编辑:程序博客网 时间:2024/06/05 22:43
原文地址:http://blog.csdn.net/zhangjunbob/article/details/52915841
正在做一个鼠标绘图程序,在一个class中需要调用鼠标响应函数setMouseCallback,
由于setMouseCallback中的mousecallback不支持调用non-static function,遇到了很多问题,现总结解决方法。
myclass.h中
class MyClass{private: void on_Mouse(int events, int x, int y); static void onMouse(int events, int x, int y, int, void* userdata);}
myclass.cpp中
void MyClass::onMouse(int events, int x, int y, int, void* userdata){// Check for null pointer in userdata and handle the errorMyClass* temp = reinterpret_cast<MyClass*>(userdata);temp->on_Mouse(events, x, y);}void MyClass::on_Mouse(int events, int x, int y){switch (events){case CV_EVENT_LBUTTONDOWN: //your code herebreak;case CV_EVENT_MOUSEMOVE://your code herebreak;case CV_EVENT_LBUTTONUP://your code herebreak;}}
在cpp函数中调用setMouseCallback时采用:
void MyClass::Initial(){//......setMouseCallback(windowname, MyClass::onMouse, this);}
setMouseCallback中的this很重要,不然MyClass* temp不能得到当前的MyClass实例。
阅读全文
0 0
- 在类中调用opencv的setMouseCallback
- 在类中调用opencv的setMouseCallback
- opencv中setMousecallback的用法
- opencv中setMousecallback的用法
- opencv中setMousecallback的用法
- opencv中setMousecallback的用法
- opencv中setMousecallback的用法
- OpenCV中关于SetMouseCallback的解释
- opencv的SetMouseCallback函数
- Opencv之鼠标响应setMouseCallback()的用法
- Opencv之鼠标响应setMouseCallback()的用法
- opencv中的setmousecallback函数
- opencv 鼠标操作 setMouseCallback
- opencv setMouseCallback() 函数
- opencv 3.0 鼠标操作 setMouseCallback
- OpenCV I_07鼠标画笔 setMouseCallback()
- 如何在c++ / opencv 中调用matlab 的图像数据
- SetMouseCallback
- Oracle数据库通过PLSQL只导出数据
- 用callflow画流程图
- c_str使用规范
- 欢迎使用CSDN-markdown编辑器
- 算式类型字符串表达式读取并计算出结果(简单四则运算)--后缀表达式计算
- 在类中调用opencv的setMouseCallback
- fabricjs clipTo
- matplotlib.pyplot
- 表格游戏!
- Java题目Matrix_Add
- 揭秘Angular 2-基本类型
- 英语札记 4
- 更改CI框架默认访问路径及去掉index.php
- C++primer 第五版课后习题 第六章(2)21-38