小编thi*_*ore的帖子

OpenCV 鼠标事件在鼠标滚动时总是接收事件 10 和 *flag* 0?

问题是,在旧版本的 Ubuntu 16.04 和 OpenCV 3.4 上,无论滚轮方向如何,getMouseWheelDelta(flag) 始终等于零。

在我的 Ubuntu 18.04 和 OpenCV 4 的新机器上,这个函数完美地工作,并且 getMouseWheelDelta(flag) 根据滚动方向返回 -1 或 1:

#include "opencv2/core.hpp"
#include <iostream>
using namespace std;
using namespace cv;

void on_mouse(int event, int x, int y, int flag, void* userdata)
{
    printf("event = %d, %d\n", event, getMouseWheelDelta(flag));
    if (event==EVENT_MOUSEWHEEL)
    {
        if (getMouseWheelDelta(flags) > 0)
            zoom += 0.1f; // this newer gets executed on Ubuntu 16.04 and OpenCV 3.4
        else
            zoom -= 0.1f;
    }
}

int main()
{
    Mat mSrc …
Run Code Online (Sandbox Code Playgroud)

c++ opencv

2
推荐指数
1
解决办法
4346
查看次数

标签 统计

c++ ×1

opencv ×1