c++ - 我可以在没有鼠标事件的情况下获取 OpenCV 中的鼠标位置吗?

标签 c++ opencv callback mouse

我找到的所有教程都使用 setMouseCallback() 来设置鼠标位置传递到的回调函数。不幸的是,此函数仅在实际鼠标事件发生时调用,但我想在鼠标上没有按下任何键时获取鼠标位置。

这在 OpenCV 中可能吗?

最佳答案

您可以使用 EVENT_MOUSEMOVE 获取鼠标的位置:

#include <opencv2\opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;

void mouse_callback(int  event, int  x, int  y, int  flag, void *param)
{
    if (event == EVENT_MOUSEMOVE) {
        cout << "(" << x << ", " << y << ")" << endl;
    }
}

int main()
{
    cv::Mat3b img(200, 200, Vec3b(0, 255, 0));

    namedWindow("example");
    setMouseCallback("example", mouse_callback);

    imshow("example", img);
    waitKey();

    return 0;
}

关于c++ - 我可以在没有鼠标事件的情况下获取 OpenCV 中的鼠标位置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42005809/

相关文章:

python - tkinter 变量跟踪方法

c++ - 在模板库中输入范围

c++ - 无法使用 pkg-config 在 VSCode 中启动外部程序

c++ - C++编译器错误,从单词中删除字母

c++ - cv::Point2d 的 OpenCV 平方范数

OpenCV 冲浪和异常值检测

javascript - 在for循环中解析查询(回调)

c++ - 如何优雅地使用 const 值放置可选值

opencv - 使用openCV copyTo函数时用255初始化矩阵?

javascript - 在 Jest 中测试回调