如何将Webcam捕获的帧坐标投影到屏幕坐标

时间:2016-01-22 14:39:32

标签: c# opencv mouse emgucv

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

它只是使用肤色分割跟踪手部,一些噪声过滤e轮廓分析,然后计算质心并将其分配给鼠标光标。 当然,通过这种方式,您获得的手部质心的坐标是指网络摄像头捕获的图像帧,并且不对应于真实的屏幕坐标,因此屏幕上会有一些区域,您不能达到。除非您对网络摄像头框架和屏幕具有相同的分辨率,否则我如何才能到达屏幕中的每个点?

修改

比我想的更简单,这里的解决方案在答案中提出:

            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);

1 个答案:

答案 0 :(得分:2)

触控板如何解决这个问题,或图形平板电脑?他们还将产生绝对坐标。为什么不应用简单的映射,例如通过标准化网络摄像头的坐标,然后再乘以监视器的分辨率?

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