我正在使用emgucv (一个c# opencv包装器)进行计算机屏幕检测。我想检测我的计算机屏幕,并在上面画一个矩形。
为了帮助这一过程,我在电脑屏幕上使用了3个红外线leds,我首先检测到了这些Leds,在检测之后,我可以找到这3个leds下方的屏幕区域。这是检测到3个leds后的结果。
3个红色框是检测到的leds。

。
一般来说,我有这样的东西

有没有人知道如何继续检测整个屏幕区域?
发布于 2016-05-26 15:06:22
这只是一个建议,但是,如果您知道您的计算机屏幕低于LED,您可以尝试使用OpenCV GrabCut algorithm。在LED下面画一个矩形,大到足以容纳屏幕(也许您可以从LED之间的间距中猜测出大小),并使用它来初始化GrabCut。
让我知道你得到了什么样的结果。
发布于 2020-05-25 17:56:50
您可以尝试使用没有红外滤光片的相机(这通常是全夜视相机),这样您可以从LED获得更强烈的光,从而使它比您的显示器更突出,然后它是一个简单的斑点检测,以获得那里的位置。
另一种解决方案是在显示器上使用ARUCO标记,如果你倾向于使用的视角不是很大,那么它应该是一个引人注目的选项,甚至可以预测相机与显示器的相对位置,如果这是你想要的。通过ARUCO的检测,你可以得到显示器平面所在的角度,从而用它们来估计显示器的面积。
https://stackoverflow.com/questions/37439228
复制相似问题