Python 抓取非反射标记

Python 抓取非反射标记,python,python-2.7,opencv,image-processing,Python,Python 2.7,Opencv,Image Processing,我正在尝试使用OpenCV用Python编写一个脚本,该脚本将查找、跟踪并输出在视频中执行练习的人身上多个标记的位置。然而,在拍摄视频时,这些标记没有被正确地照亮,因此,它们的颜色与大部分背景颜色相同——一种不引人注目、不反光的灰色。这是一个问题,当涉及到把他们拉出来。即使在将图像转换为HSV时,也不可能在标记消失的情况下过滤掉周围环境(受试者的衣服、墙壁、天花板等)。就寻找轮廓而言,在任何特定的帧中都会发生很多事情,以至于找到的轮廓数量相当高,标记本身也不一定是检测到的最小的,所以我不能像许多

我正在尝试使用OpenCV用Python编写一个脚本,该脚本将查找、跟踪并输出在视频中执行练习的人身上多个标记的位置。然而,在拍摄视频时,这些标记没有被正确地照亮,因此,它们的颜色与大部分背景颜色相同——一种不引人注目、不反光的灰色。这是一个问题,当涉及到把他们拉出来。即使在将图像转换为HSV时,也不可能在标记消失的情况下过滤掉周围环境(受试者的衣服、墙壁、天花板等)。就寻找轮廓而言,在任何特定的帧中都会发生很多事情,以至于找到的轮廓数量相当高,标记本身也不一定是检测到的最小的,所以我不能像许多教程那样只假设“min(轮廓)”

我尝试过使用几种不同的方法来分离标记,主要包括操纵mask/HSV图像,但也有一些其他方法,例如simpleblobdector和查找关键点。我能想到的最好的方法是使用关键点检测来手动选择感兴趣的点,但即使是那些点也不总是能找到标记

我无法共享完整大小的示例图像,因为它是我正在使用的视频中的一个人,但请注意以下情况:

  • 我无法重新拍摄视频以正确进行标记。这些数据最初并不仅仅用于摄像机的校准,所以没有人太在意标记照明。数据糟透了,但这是我唯一需要处理的

  • 大部分情况下,皮肤很容易过滤掉,但衣服、环境和皮肤的轮廓始终保持不变

  • 在上图中,用户手持练习栏。图像中心下方有一个标记,手臂上方还有一个标记。朝向右边缘的点不是标记。H(0,26),S(0,57),V(0255)

  • 标记的颜色基本上与墙壁和天花板的颜色相同


TL;DR:我需要一种在繁忙的环境中用尽可能少的用户输入抓取非反射标记的方法。数据不能简单地重新获取,获取运动捕捉数据的典型方法在这里不起作用。

如果您需要有关处理该信息的建议,您应该提供原始图像。我提供的图像来自我正在分析的数据。您为什么要谈颜色、灰度标记和HSV转换?为什么你不能分享一张全尺寸的照片?只要去掉脸。。。如果你只提供一些中间步骤中非常糟糕的图像,你就不能期望得到任何建议。如果你需要处理这些信息的建议,你应该提供原始图像。我提供的图像来自我正在分析的数据。你为什么要谈颜色、灰度标记和HSV转换?为什么你不能分享一张全尺寸的照片?只要去掉脸。。。如果您只提供一些中间步骤中非常糟糕的图像,那么您无法期望得到任何建议。