Отслеживание ближайшего тела с помощью Kinect v2

Я новичок в Kinect и я использую pykinect2. Я хочу отслеживать только тело, которое находится ближе всего к камере, а не другие. Я написал код, но проблема в том, что код обнаруживает первого человека, которого видит камера, и самые близкие критерии применяются только ко второму или следующему человеку, появляющемуся в поле зрения камеры. любая помощь будет принята с благодарностью.

        if self._bodies is not None:                
            for i in range(-1, self._kinect.max_body_count): 
                body = self._bodies.bodies[i]                    
                if not body.is_tracked: 
                    continue 

                joints = body.joints                   
                #####-----------------------------Get the Depth of a Body-----------------------------------------------------------
                z = self.distance_body(joints) #distance of the bodies from the camera
                track[i]=z
                print(track)
                min_dist= min(track.values())
                for k in track.keys(): 
                    if track[k] == min_dist:
                        print(k)
                        l=k   # id of the body that has the minimum distance

                if(i==l):  
                    body_near = self._bodies.bodies[i]
                    joints_near = body_near.joints
                    print(i)             
                    joint_points_near = self._kinect.body_joints_to_color_space(joints_near)
                    joint_points_depth_near = self._kinect.body_joints_to_depth_space(joints_near)
                    self.draw_body(joints_near, joint_points_near, SKELETON_COLORS[l])           
                else:
                   continue

Я пытался решить эту проблему в течение нескольких недель. Если бы не в Python, любая логика или алогрит в C# или что-либо еще, что я могу использовать в Python, будет оценено. Спасибо

0 ответов

Другие вопросы по тегам