Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 用计算机视觉检测屏幕记录中的鼠标移动_Image Processing_Computer Vision_Object Recognition - Fatal编程技术网

Image processing 用计算机视觉检测屏幕记录中的鼠标移动

Image processing 用计算机视觉检测屏幕记录中的鼠标移动,image-processing,computer-vision,object-recognition,Image Processing,Computer Vision,Object Recognition,我希望在录制视频的屏幕中检测并跟踪鼠标光标。我的目标是跟踪视频中的鼠标光标,了解关闭窗口、退出应用程序等事件 使用普通CV算法来跟踪对象不起作用,因为光标和背景都是动态的,而且两者之间也没有非常明显的对比 有办法解决这个问题吗?您可能可以使用HAAR分类器检测指针:这是一种基于机器学习的方法,其中级联函数是从大量正面和负面图像中训练出来的。然后,它用于检测其他图像中的对象。OpenCV已经内置了人脸、眼睛等功能,但应该可以训练自己的光标 您可以找到一个关于如何训练自己的分类器的教程(如何训练分类

我希望在录制视频的屏幕中检测并跟踪鼠标光标。我的目标是跟踪视频中的鼠标光标,了解关闭窗口、退出应用程序等事件

使用普通CV算法来跟踪对象不起作用,因为光标和背景都是动态的,而且两者之间也没有非常明显的对比


有办法解决这个问题吗?

您可能可以使用HAAR分类器检测指针:这是一种基于机器学习的方法,其中级联函数是从大量正面和负面图像中训练出来的。然后,它用于检测其他图像中的对象。OpenCV已经内置了人脸、眼睛等功能,但应该可以训练自己的光标


您可以找到一个关于如何训练自己的分类器的教程(如何训练分类器的内容太多,无法包含在本答案中)。

如果图像未压缩,则光标的所有像素值都是准确的,并且不会随着光标的移动而改变(除非边缘上存在反对齐或透明度?)

然后应该进行精确的模式搜索。(将光标滑动到每个可能的位置,并检查像素的匹配情况,直到所有像素都匹配为止。)


如果您安排搜索的方式使第一个尝试的光标像素的颜色与背景颜色(最常见的颜色)不同,您将最大限度地提高立即拒绝的可能性。如果前两个像素的颜色不同,效果会更好。通过这样做,尝试的像素数将接近图像大小的两倍,这是很难击败的


由Mark Setchell在此行下方添加:

似乎光标会发生变化,因此您需要考虑以下因素:


我认为机器学习在这里太过分了。这是一个直截了当的模板匹配问题。可能有点多,但你认为模板匹配在背景变化时会表现得足够好吗?如果你将背景从模板中排除,为什么不呢?@diip_thomas:你为什么认为HAAR分类器可以击败模板匹配?(或者你计划在世界上所有可能的背景上进行训练吗?)使用几种不同背景的训练可以帮助分类器选择大多数背景,但我同意在这种情况下模板匹配可能更有效。为什么是视频?为什么不在计算机上记录操作?我不认为记录这些东西会有什么帮助。您将知道windows是否关闭或应用程序是否退出,但您不知道是哪一个,除非您有一组外观独特的有限应用程序。那么重点是什么呢?流被压缩了吗?@Pieget我们没有日志。我们的最终目标是训练一种cv算法,它可以通过查看屏幕录制会话来检测现有的崩溃。如果我们有事件日志,事情会简单得多。@YvesDaoust No流没有被压缩。那么您想告诉我您可以访问一台计算机,它允许您全天候捕获屏幕并跟踪任何移动,但您没有访问系统日志的权限?这对我来说没有意义。合理的建议-我希望你不介意我添加一些想法。如果你这样做了,请随意删除/拒绝。好吧,因为你把它归功于你自己。但我删除了“以后再看便条”,因为我根本不是指那种改变。