c# - 如何将网络摄像头捕获的帧坐标投影到屏幕坐标

标签 c# opencv mouse emgucv

<分区>

我正在开发一个通过网络摄像头控制鼠标的应用程序,从这个 application 开始

它只是使用肤色分割、一些噪声过滤和轮廓分析来跟踪手,然后计算质心并将其分配给鼠标光标。 当然这样得到的手部质心坐标是指网络摄像头拍摄的图像帧,与真实屏幕坐标不对应,所以屏幕中会有无法到达的区域。除非网络摄像头框架和屏幕的分辨率相同,否则我怎么能到达屏幕上的每个点?

编辑

比我想象的要简单,这里是答案中提出的解决方案:

            Rectangle resolution = Screen.PrimaryScreen.Bounds;

            int real_X = (int)((Convert.ToDouble(current_X) / frame.Width)*resolution.Width);
            int real_Y = (int)((Convert.ToDouble(current_Y) / frame.Height)*resolution.Height);

最佳答案

触摸板或绘图板如何解决这个问题?它们还将产生绝对坐标。为什么不只应用一个简单的映射,例如通过标准化网络摄像头的坐标,然后再次乘以显示器的分辨率?

我实际上没有看到问题,所以我错过了什么吗?

关于c# - 如何将网络摄像头捕获的帧坐标投影到屏幕坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34949253/

相关文章:

c# - 可以使用 C# 泛型来省略虚函数调用吗?

xcode - 是否有热键可以在 Xcode 4.3 中使用鼠标启用 Storyboard 平移?

javascript - 使用测试库在JS中模拟长按鼠标左键

python - 如何在python中使用opencv读取图像的掩码

algorithm - 比较分水岭和抓取

macos - Mac OS X : CGGetLastMouseDelta and moving the mouse programatically

c# - 将函数转换为 LINQ to SQL

c# - USB 闪存驱动器模拟(如 cd/dvd rom 虚拟驱动器)-是否可能

c# - 访问 Azure 队列存储的 IIS 托管服务

python - 如何生成带有 ids 偏移量的 charuco 板