我希望在屏幕录制视频中检测并跟踪鼠标光标。我的目标是在视频中跟踪鼠标光标并了解关闭窗口,退出应用程序等事件。
使用普通的CV算法跟踪对象不起作用,因为光标和背景都是动态的,两者之间也没有非常明显的对比。
有没有办法解决这个问题?
答案 0 :(得分:2)
如果图像是未压缩的,则光标的所有像素值都是准确知道的,并且不会随着光标的移动而改变(除非边缘有抗锯齿或透明度?)。
然后应该进行精确的模式搜索。 (将光标滑动到每个可能的位置并检查像素的匹配,直到所有像素都匹配。)
如果您安排搜索的方式使得尝试的第一个光标像素具有与背景不同的颜色(最常用的颜色),您将最大化立即拒绝的概率。如果尝试的前两个像素具有不同的颜色,则更好。通过这样做,尝试的像素数将接近图像大小的两倍,这很难被击败。
由Mark Setchell在此行下面添加:
游标似乎确实发生了变化,因此您需要考虑到这一点:
答案 1 :(得分:1)
你可能使用HAAR分类器检测指针:它是一种基于机器学习的方法,其中级联函数是从许多正负图像中训练的。然后它用于检测其他图像中的对象。 OpenCV已经为面部,眼睛等内置trained HAAR Classifiers但是应该可以为光标训练自己的。{/ p>
您可以找到有关如何训练自己的分类器here的教程(如何做到这一点过于广泛,无法包含在此答案中)。