【发布时间】:2016-11-18 15:31:53
【问题描述】:
我阅读了有关cv2.createTrackbar 的文档。它说
onChange – 指向每次滑动时调用的函数的指针 改变位置。这个函数的原型应该是 void Foo(int,void*); ,其中第一个参数是轨迹栏位置 第二个参数是用户数据(见下一个参数)。如果 回调是 NULL 指针,没有回调被调用,但只有 值已更新。
但我不知道如何将用户数据传递给 Python 中的 onChange 回调。
我定义了我的回调函数:
def callback(value,cur_img):
cv2.GaussianBlur(cur_img, (5, 5), value)
我得到了错误:
callback() takes exactly 2 arguments (1 given)
因为它只将 bar 值参数传递给回调。
但我真的需要 cur_img 用于 cv2.GaussianBlur 函数。如何将 cur_img 参数传递给回调?
【问题讨论】:
-
你不能在输入上声明 cur_img(在调用回调之前)并将其作为全局变量在回调中获取吗?
-
似乎在Python中我们不能使用C++可用的参数
userdata,链接页面中提供的Python语法实际上并没有提及。
标签: python python-2.7 opencv callback