reflective Markers

I am trying to write a script in Python using OpenCV that will find, track, and output the positions of multiple markers on a person performing an exercise in a video. However, the markers were not properly lit up at the time of video capture, and so as a result they appear the same color as much of the background - an unspectacular, non-reflective grey. This is a problem when it comes to pulling them out. Even when converting the image to HSV, it seems impossible to filter out the surroundings (subject's clothes, the walls, the ceiling, etc) without the markers vanishing too. And as far as finding contours goes, there's so much going on in any particular frame that the number of contours found is pretty high and the markers themselves are not necessarily the smallest detected, so I can't just assuming 'min(contours)' as many tutorials try to do.

I've tried to isolate the markers using several different methods, mostly involving manipulating the mask/HSV image, but also some others, such as SimpleBlobDetector and finding keypoints. The best method I can think of is using keypoint detection to manually select the points of interest, but even those don't always pick up the markers.

I can't share a full-size sample image since it's a person in the videos I'm using, but some notes on the situation:

  • I can't retake the video to do the markers correctly. This data wasn't originally taken for more than camera alignment, so no one was too concerned about marker illumination. The data sucks, but it's all I have to work with.

  • Skin is very easy to filter out for the most part, but outlines of the clothes, environment, and skin always remain.

    用户拿着锻炼栏。图像中心下方有一个标记,另一个标记位于图像中央。 H(0,26),S(0,57),V(0,255)

  • in the image above, the user is holding the exercise bar. there's a marker just under the center of the image, and another further up the arm. The spots towards the right edge are not markers. H(0, 26), S(0,57), V(0,255)

  • Markers really are basically the same color as the wall and ceiling.

  • TL;DR : I need a way to grab non-reflective markers in a busy environment with as little user input as possible. Data can't simply be re-taken, and methods typical for acquiring motion capture data are not working out here.

    链接地址: http://www.djcxy.com/p/68760.html

    上一篇: Spring 3.1:DataSource未自动装配到@Configuration类

    下一篇: 反射标记